1

我想要做x-combo-list-itemx-combo-list. 我该怎么做?请帮忙。谢谢你。

请参阅我的 jsfiddle 以获取代码参考。--> JSFiddle

----------------新问题-----------------

如果选择“合作伙伴”,.each() 会自动运行吗?

4

4 回答 4

4

http://jsfiddle.net/littlefyr/H6yeJ/

JQuery 允许您根据元素的内容进行选择。所以你只需使用选择器来做你想做的事:

$('.x-combo-list-item:contains("Partner")').click(function() {
    var $this = $(this);
    alert('You have selected Partner!');
    commonFunction($this);
});

$('.x-combo-list-item:not(:contains("Partner"))').click(function() {
    var $this = $(this);
    alert('You have not selected Partner!');
    commonFunction($this);
});

function commonFunction(item){
    // do Ajaxy stuff
};

当您开始更改文本时(例如必须翻译文本时),这会失败。在这种情况下,您只需向标签添加一个常量值并使用属性选择器:

$('.x-combo-list-item[data-val=pnr]').click(function() {
    var $this = $(this);
    alert('You have selected Partner attribute wise!');
    commonFunction($this);
});

$('.x-combo-list-item[data-val!=pnr]').click(function() {
    var $this = $(this);
    alert('You have not selected Partner attribute wise!');
    commonFunction($this);
});
$('.x-combo-list-item:not([data-val=pnr])').click(function() {
    var $this = $(this);
    alert('You have not selected Partner alternative attribute wise!');
    commonFunction($this);
});

您还可以将它们与.x-combo-selectedand结合起来:not(.x-combo-selected),以便以不同的方式处理选定的项目。

如果您通过代码(甚至原则上)添加项目,您应该将事件委托给相关的祖先:

$('.x-combo-list-inner')
.on('click', '.x-combo-list-item:contains("Partner")',function() {
    var $this = $(this);
    alert('You have selected Partner! Again');
    commonFunction($this);
}).on('click', '.x-combo-list-item:not(:contains("Partner"))', function() {
    var $this = $(this);
    alert('You have not selected Partner! again');
    commonFunction($this);
})
于 2013-09-18T16:19:00.077 回答
2

如果我理解正确的话,你想当alert用户点击div哪个包含文本的伙伴?

$('.x-combo-list-item').click(function() {   
    if ($(this).text() === "Partner") {
        alert('You have selected Partner!');

        // Fire your ajax call here
        /*
        $.post('handler.php', {data: data : {even: 'more data'}}, function(data), 'json');
        */
    }
});

你有一个电话来检索data-item它不存在,所以我不完全确定。

于 2013-09-18T15:46:30.073 回答
0

$('id if box').val('Partner') ; 这会做。

于 2013-09-18T15:53:20.257 回答
0

尝试这个:

$('#ext-1111 div').each(function() {
  if (jQuery(this).html() == "Partner") {
    alert("This is Partner")
  }
});

问候

于 2013-09-18T15:47:26.553 回答