<select name="option[239]" onchange="jsFunction(this)">
<option value="">--- Please Select ---</option>
<option value="49">Double Standard</option>
<option value="50">Single Express</option>
<option value="51">Single Standard</option>
<option value="48">Double Express</option>
</select>
<select name="option[240]" onchange="jsFunction(this)">
<option value="">--- Please Select ---</option>
<option value="49">Double Standard</option>
<option value="50">Single Express</option>
<option value="51">Single Standard</option>
<option value="48">Double Express</option>
</select>
HTML
function jsFunction(element){
alert("You changed to " + element.value );
if (element.value=='50') {
$('[name="option[240]"]').remove();
}
}
脚本
好的我可以让它删除整个选择选项[240]但是我不知道如何从240删除其中一个选项(例如,如果选择50,则从选项[240]中删除49)
答案 0 :(得分:2)
试试这个
HTML
<select id="test" name="option[240]" onchange="jsFunction(this)">
<option value="">--- Please Select ---</option>
<option value="49">Double Standard</option>
<option value="50">Single Express</option>
<option value="51">Single Standard</option>
<option value="48">Double Express</option>
</select>
脚本
$("#test option[value='49']").remove();//it will remove value 49
答案 1 :(得分:2)
由于element
引用了select元素,因此您可以使用它来查找要删除的选项。
如果您想删除预定义的元素,那么
function jsFunction(element) {
var $select = $(element);
if ($select.val() == '50') {
$select.find('option[value=49]').remove()
}
}
演示:Fiddle
如果要删除所选选项之前的所有选项,则
function jsFunction(element) {
var $select = $(element);
var idx = $select.find('option:selected').index();
$select.find('option').slice(1, idx).remove()
}
演示:Fiddle