[英]jQuery inArray only looking at first value
$('#client').keyup(function() {
if ($('#client').val() != $('.recent_client').attr('id')) {
$('.recent_client').removeClass('recent_client_active').addClass('recent_client_inactive');
}
else if (jQuery.inArray(parseInt($('#client').val()), client_ids)) {
alert('IN ARRAY');
}
});
我的HTML
<p><input type="text" name="client" id="client" placeholder="Click here and start typing your client name..."></p>
<div id="recent_clients">
<p><a href="#" class="recent_client recent_client_inactive" id="Client Name 1">Client Name 1</a><a href="#" class="recent_client recent_client_inactive" id="Client Name 2">Client Name 2</a><a href="#" class="recent_client recent_client_inactive" id="Client Name 3">Client Name 3</a><a href="#" class="recent_client recent_client_inactive" id="Client Name 4">Client Name 4</a><a href="#" class="recent_client recent_client_inactive" id="Client Name 5">Client Name 5</a><a href="#" class="recent_client recent_client_inactive" id="Client Name 6">Client Name 6</a></p>
</div>
我有一个数组,其中包含#recent_clients div中每个a的ID值。 简单的东西。 我也有一个输入框。 如果您键入最近一位客户的全名,我希望该客户名突出显示。 所以我以为jQuery.inArray可以解决这个问题,但是它不起作用。 如果键入数组的第一个值(“客户端名称1”),则会收到警报。 但是,如果我在其后键入任何其他客户端名称(例如“客户端名称2”),则什么都不会发生。
我在这里可能做错了什么?
由于inArray()的工作方式类似于indexOf,因此您应测试结果> -1
更新
var client_ids = ['Client Name 1', 'Client Name 2', 'Client Name 3', 'Client Name 4', 'Client Name 5'];
$('#client').keyup(function() {
if (jQuery.inArray($('#client').val(), client_ids) > -1)
$('#client').css('background-color','#00cc00');
else
$('#client').css('background-color','#cc0000');
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.