gpt4 book ai didi

jquery - jquery 选择器的大写 "i"问题

转载 作者:行者123 更新时间:2023-12-01 01:46:54 27 4
gpt4 key购买 nike

我在使用 jquery 选择器时遇到问题。

这是;

Jquery 选择器(新):

    <script>
(function ($) {
jQuery.expr[':'].Contains = function(a, i, m) {
return jQuery(a).text().toUpperCase()
.indexOf(m[3].toUpperCase()) >= 0;
};

function filterList(header, list) {
var form = $("<form>").attr({"class":"filterform","action":"#"}),
input = $("<input>").attr({"class":"filterinput","type":"text"});
$(form).append(input).appendTo(header);

$(input)
.change( function () {
var filter = $(this).val();
if(filter) {

$matches = $(list).find('a:Contains(' + filter + ')').parent();
$('li', list).not($matches).slideUp();
$matches.slideDown();

} else {
$(list).find("li").slideDown();
}
return false;
})
.keyup( function () {
$(this).change();
});
}
$(function () {
filterList($("#form"), $("#list"));
});
}(jQuery));
</script>

列表:

<div class="normal" id="form"></div>
<li>İngiltere</li>
<li>Iraq</li>
<li>Argentina</li>

在输入框中输入“i”时,不会出现“engiltere”。只有“阿根廷”。当在框中输入“i”时,我必须进行修改才能搜索“i”和“ı”。

谢谢..

最佳答案

对于这个迫在眉睫的问题,您可以通过这样做来解决它:

首先确保现有的<li>元素不具有该特征。如果他们这样做,您需要运行:

$('#form li').each(function() {
$(this).text($(this).text().replace(/\u0130/g, "I"));
});

Here is what should happen

<小时/>

但无论哪种方式,您都需要这个:

替换您的.keyup( function () { ....代码如下:

.keyup(function(e) {
var charCode = e.keyCode || e.which;
if (charCode === 304) {
$(this).val($(this).val().replace(/\u0130/g, "I"));
}
$(this).change();
});

或者你可以使用replace()change()方法(就在尝试过滤掉它之前)。

PS - 我无法测试这个,因为我的键盘不是土耳其语,但请尝试一下,如果失败,请告诉我。

关于jquery - jquery 选择器的大写 "i"问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21238529/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com