我需要一個jQuery選擇,讓我jQuery選擇問題
查找輸入(選擇/選項)下拉 - 這裏選擇的名稱是ACTC和 - 選擇的值是ABC
我覺得它的東西像:
myTmpl.find("input[name='ACTC']").val('ABC');
我需要一個jQuery選擇,讓我jQuery選擇問題
查找輸入(選擇/選項)下拉 - 這裏選擇的名稱是ACTC和 - 選擇的值是ABC
我覺得它的東西像:
myTmpl.find("input[name='ACTC']").val('ABC');
我真的不知道你在做什麼應用程序。爲什麼不只是獲得名稱爲「ACTC」的選擇框的當前值並測試它是否爲'ABC'?
var selectBox = $('select[name="ACTC"]');
var selectValue = $(selectBox).val();
if (selectedValue == 'ABC'){
// use the 'selectBox' variable as it references your <select> element
}
else{
// do something else or nothing at all
}
爲<option>
標籤的選擇是:
$('select[name="ACTC"] option[value="ABC"]');
如果你想看看如果選擇與價值「ABC」的選項,你可以檢查,像這樣:
// if the following line of code > 0 then the option is selected
$('select[name="ACTC"] option[value="ABC"]:selected').length;
如果您確實想要將特定選項標記爲已選,您可以這樣做:
$('select[name="ACTC"] option[value="ABC"]').attr({selected:true});
如果你只是想找到<select>
盒子「ABC」的設定值(請注意這隻會是必要的,如果您有相關的多個同名的選擇框):
$('select[name="ACTC"] option[value="ABC"]:selected').closest('select');
你不能以這種方式使用val(),並且因爲實際值屬於<option>
元素,所以也不能在value
附近使用簡單的attribute equals選擇器。
var select = myTmpl.find("select[name='ACTC']:has(option[value='ABC']:selected)");
可以在this fiddle測試。
這會得到一個選擇/選項有「ACTC」的類名,如果值是「ABC」
$(document).ready(function() {
$("input").click(function() {
if ($('.ACTC option:selected').val() == 'ABC') {
alert("ABC Selected");
}
else
{
alert("ABC not select");
}
});
});
var select = $('select[name="ACTC"]').filter(function(e) { return e.value == 'ABC'; })
唯一的「問題」這個是當前所選的值它選擇'option'而不是'select'。你需要像Frédéric在他的回答中描述的那樣使用':has()'選擇器。 – Kokos
解決了我上面的最後一行代碼。 – Ryan
我想這也是作品:)我無法想象它比':has()'方法更快,但是我再也不認爲這種差異是不明顯的^^。 – Kokos