我想做的是从x-combo-list-item获取选定的x-combo-list,合作伙伴。
我该怎么办?请帮忙。谢谢。

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

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

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

最佳答案

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-selected: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);
})

关于javascript - 使用jQuery从COMBO BOX获取选定的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18876697/

10-12 12:59