我想在选项2之后添加一些选项值,假设我喜欢添加选项
<option value="2a">2a</option>
<option value="2b">2b</option>
<option value="2c">2c</option>
我想删除选项2
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.2.1.min.js">
</script>
<select id="selectCity">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
所以它变成
<select id="selectCity">
<option value="1">1</option>
<option value="2a">2a</option>
<option value="2b">2b</option>
<option value="2c">2c</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
所以我试过
$("#selectCity option[value='2']").remove();
newoptions = '<option value="2a">2a</option><option value="2b">2b</option<option value="2c">2c</option>';
$("#selectCity").append(newoptions);
但这只是将选项值作为最后一个选项附加在第三个
之前内置函数的任何其他jquery我可以看看???
答案 0 :(得分:1)
这似乎有效,请参阅此JSFiddle。
var elemToReplace = $("#selectCity option[value='2']");
newOptions = '<option value="2a">2a</option><option value="2b">2b</option><option value="2c">2c</option>';
$(newOptions).insertBefore(elemToReplace);
elemToReplace.remove();
答案 1 :(得分:1)
我想念你要求更换。在这种情况下,你不会使用insertBefore / insertAfter /或append。你只需要使用replaceWith。
var replacement = [
'<option value="2a">2a</option>',
'<option value="2b">2b</option>',
'<option value="2c">2c</option>'
];
$('#selectCity option').filter('[value="2"]').replaceWith(replacement);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="selectCity">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
&#13;