我的场景:
如果textbox值与下拉列表值是相同的情况,这是非常好的。但我希望这件事对案件不敏感。
因此,如果用户输入“堆栈溢出”,那么我希望它从下拉列表"StackOverflow“中选择。我怎样才能通过jQuery做到这一点?
发布于 2009-08-06 14:29:18
下面是另一种方法:在其实际情况中查找匹配值"StackOverflow“,并使用该方法调用val()
。
var matchingValue = $('#select option').filter(function () {
return this.value.toLowerCase() === 'stackoverflow';
} ).attr('value');
$('#select').val(matchingValue);
当然,应该用变量替换文字'stackoverflow'
。
发布于 2009-08-06 14:18:45
我认为做这件事的最好方法是从之前而不是之后来看。如果您使它们都是小写的,那么它们都是标准化的,而且更容易使用。然后你所要做的就是让用户的输入都是小写的,而且很容易匹配。
另一个选项是使用过滤器函数,如一个在这里发现的
$('something').filter(function() {
return (new RegExp(value, "i")).test($(this).attr('attribute'));
});
但是,值和属性需要替换。
发布于 2009-08-06 14:23:37
在模糊时,迭代你的选项,并检查它是否匹配。然后选择匹配的。
代码:
$("#button").blur(function(){
var val = $(this).val();
$("#list option").each(function(){
if($(this).text().toLowerCase() == val) $(this).attr("selected","selected");
});
});
我还没有测试它,所以一定要检查语法错误。
https://stackoverflow.com/questions/1239151
复制相似问题