jQuery 到 select 选项中包含 "selected" 的特定 select
jQuery to select specific selects that have "selected" in the option
我有一个包含多项选择的表单,该表单动态预填充了选项。
我只想突出显示(更改背景颜色)选项列表中具有 "selected" 的选项。
表格:
<form name="MyForm" method="POST" action="/myaction">
<select>
<option value="--">--</option>
<option value="1">111</option>
<option value="2" selected>222</option>
<option value="3">333</option>
</select>
<select>
<option value="--">--</option>
<option value="1">A1</option>
<option value="2">B2</option>
<option value="3">C3</option>
</select>
<select>
<option value="--">--</option>
<option value="A" selected>AAA</option>
<option value="B">BBB</option>
<option value="C">CCC</option>
</select>
</form>
我当前的 jQuery 突出显示所有选择,而不仅仅是选项中具有 "selected" 的选择。在上面的示例中,应该只突出显示第一个和最后一个选择...
$('#MyForm').find('select > option:selected').parent().css('background-color', 'rgba(216,255,1,0.15)');
知道如何解决吗?
您在 name="MyForm"
中使用表单元素,但在 jquery 中使用 'MyForm' 作为表单标记的 ID 选择器 $('#MyForm'). Either assign
id="MyForm"`或使用下面的 jquery
$('[name="MyForm"]').find('select > option:selected').parent().css('background-color', 'rgba(216,255,1,0.15)');
var selectedItems= $('[name="MyForm"]').find('select > option:selected');
selectedItems.each(function(obj,ind){
$(obj).parent().css('background-color', 'rgba(216,255,1,0.15)');
});
您似乎在寻找属性 selected
:
$('[name=MyForm] [selected]').parent().css('background-color', 'rgba(216,255,1,0.15)');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form name="MyForm" method="POST" action="/myaction">
<select>
<option value="--">--</option>
<option value="1">111</option>
<option value="2" selected>222</option>
<option value="3">333</option>
</select>
<select>
<option value="--">--</option>
<option value="1">A1</option>
<option value="2">B2</option>
<option value="3">C3</option>
</select>
<select>
<option value="--">--</option>
<option value="A" selected>AAA</option>
<option value="B">BBB</option>
<option value="C">CCC</option>
</select>
</form>
这很简单。
将 option:selected
替换为 option[selected]
并将属性 id="MyForm"
添加到表单中。
你可以在这个fiddle中看到代码。
我有一个包含多项选择的表单,该表单动态预填充了选项。
我只想突出显示(更改背景颜色)选项列表中具有 "selected" 的选项。
表格:
<form name="MyForm" method="POST" action="/myaction">
<select>
<option value="--">--</option>
<option value="1">111</option>
<option value="2" selected>222</option>
<option value="3">333</option>
</select>
<select>
<option value="--">--</option>
<option value="1">A1</option>
<option value="2">B2</option>
<option value="3">C3</option>
</select>
<select>
<option value="--">--</option>
<option value="A" selected>AAA</option>
<option value="B">BBB</option>
<option value="C">CCC</option>
</select>
</form>
我当前的 jQuery 突出显示所有选择,而不仅仅是选项中具有 "selected" 的选择。在上面的示例中,应该只突出显示第一个和最后一个选择...
$('#MyForm').find('select > option:selected').parent().css('background-color', 'rgba(216,255,1,0.15)');
知道如何解决吗?
您在 name="MyForm"
中使用表单元素,但在 jquery 中使用 'MyForm' 作为表单标记的 ID 选择器 $('#MyForm'). Either assign
id="MyForm"`或使用下面的 jquery
$('[name="MyForm"]').find('select > option:selected').parent().css('background-color', 'rgba(216,255,1,0.15)');
var selectedItems= $('[name="MyForm"]').find('select > option:selected');
selectedItems.each(function(obj,ind){
$(obj).parent().css('background-color', 'rgba(216,255,1,0.15)');
});
您似乎在寻找属性 selected
:
$('[name=MyForm] [selected]').parent().css('background-color', 'rgba(216,255,1,0.15)');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form name="MyForm" method="POST" action="/myaction">
<select>
<option value="--">--</option>
<option value="1">111</option>
<option value="2" selected>222</option>
<option value="3">333</option>
</select>
<select>
<option value="--">--</option>
<option value="1">A1</option>
<option value="2">B2</option>
<option value="3">C3</option>
</select>
<select>
<option value="--">--</option>
<option value="A" selected>AAA</option>
<option value="B">BBB</option>
<option value="C">CCC</option>
</select>
</form>
这很简单。
将 option:selected
替换为 option[selected]
并将属性 id="MyForm"
添加到表单中。
你可以在这个fiddle中看到代码。