我继承了一个MVC表单,它发出选择动态标识并由前缀,guid和后缀命名。例如,
<select id="N9_ID_f0d7ca03-0221-41b7-a457-3494b9e483e3__N9QualifierID" name="N9[ID_f0d7ca03-0221-41b7-a457-3494b9e483e3].N9QualifierID">
<option value="58">Automated Export System (AES) Internal Transaction Number (ITN)</option>
<option value="60">Automated Export System Export Information Code Exemption Number (Note 1)</option>
<option value="59">Automated Export System Option 4 Employee Identification Number</option>
<option value="8">Bill of Lading</option>
<select>
将有多个选项具有相同的前缀和后缀。前缀和后缀有效地将选择分区为类,并且guid将动态生成的选择与其他动态生成的控件(如文本框)联系起来。我需要找到具有给定值的选择,这样我就可以提取guid并使用具有该guid的其他输入执行操作。
我的问题:
使用JQuery,如何选择具有给定选定值的选择?例如,我知道至少有一个选项的选择值为59,但我不知道哪一个。
答案 0 :(得分:2)
这将返回所有选项,其中包含59作为其值的选项。
var selects = $('option[value="59"]').parent();
如果您想要那些具有59作为当前选定值的那些
var selects = $('option[value="59"]:selected').parent();
然后,一旦你有了选择权,你就可以使用.each()
来做你想做的事了
selects.each(function(){
// extract guid and do whatever..
});
答案 1 :(得分:0)
您可能需要属性,而不是属性(不会更改),因此使用过滤器应该可以使用
$('select').filter(function() {
return this.value === '59';
}).prop('id');