0
我有jQuery中下面的代码,当您文本输入到一个文本框(#searchServices
),它会淡出不包含文本链接,它会在不含该文本链接褪色。高级选择在ExtJS的
我怎样才能做到这一点的ExtJS的?
$('#searchServices').keyup(function() {
if ($(this).val().trim() != '') {
$('.serviceGridItem:not(:contains("' + $(this).val() + '"))').fadeOut();
$('.serviceGridItem:contains("' + $(this).val() + '")').fadeIn();
}
else {
$('.serviceGridItem').fadeIn();
}
})
现在,我有我的文本框和我的听众,像这样:
xtype: 'textfield',
enableKeyEvents: true,
listeners: {
keyup: function(c) {
console.log(c.getValue());
}
}
我的(产生的)HTML是这样的:
<div class="x-component x-window-item x-component-default" id="dataview-1049" tabindex="-1" style="">
<a href="#" class="serviceGridItem">Legal Compliance</a>
<a href="#" class="serviceGridItem">Departure Package</a>
<a href="#" class="serviceGridItem">House Search</a>
<a href="#" class="serviceGridItem">Language Training</a>
</div>
编辑:我曾尝试这但我得到和说,“意外的标识符”的错误。
Ext.query('.serviceGridItem:not(:contains("' + c.getValue() + '"))').hide();
相同的结果之一。请注意,我并不是想要获取所有元素,只是包含HTML中某些文本的元素。 – user1477388
对可能的解决方法请参见编辑 – lascort
由于这是有帮助的。我会接受这个作为一个答案,但它吮吸的是ExtJS的倾斜只是做'Ext.query隐藏();(”“+ c.getValue()+ '”))' serviceGridItem:没有(包含(”)。 '。看来ExtJS不支持这样的嵌套选择器。我张贴另一个问题有一个更具体的例子,这里的jsfiddle http://stackoverflow.com/questions/21785001/extjs-bug-selector-not-working-properly – user1477388