2013-07-24 116 views
1

通過使用jQuery,我試圖讓jQuery返回所有不包含具有給定值的選項的選擇,到目前爲止,我已經得到:獲取所有選擇列表,其中不包含給定值的選項

$.each($("select:has(option:not(:contains('Stamp Duty 125k - 249k')))"), function (key, value) { 
    $("p").text(value.name); 
}); 

但是如果select有多個選項,則這不起作用。我一直在努力尋找一種做預期功能的方式,所以任何幫助將不勝感激。謝謝。

+0

發佈您的HTML請。 – Learner

回答

0

您可以使用.filter()

var $selects = $('select').filter(function(){ 
    var op = $('option',this).filter(function(){ 
    return $.trim($(this).text()) === 'Stamp Duty 125k - 249k'; 
    }); 

    if(op.length > 0) return false; 
    else return true; 
}); 

您可以使用選擇這樣的 -

$selects.each(function (key, value) { 
    $("p").append(value.name); 
}); 
+0

謝謝,除了一些編輯這工作! – user1587834

1

看起來像一個複製粘貼錯誤,你缺少$.each()方法

你的問題主要是由於您正在使用text而不是append替代的以前內容。

$("select:has(option:not(:contains('Stamp Duty 125k - 249k')))").each(

function (key, value) { 
    $("p").append(value.name); 
}); 
+1

你錯過'''在'每個':) – krishgopinath

相關問題