我有两个选择 - “段”和“兴趣”选项。
我想从第二个菜单中删除第一个菜单上的值的特定选项。
如果我打电话给
$("#interest option[value='forhim']").remove();
它删除了此选项,但在下面的示例中,它不起作用/删除。
<script>
$('#segment').change(function(){
if($(this).val() == 'forher'){ // forher is value in #segment which should remove value forhim '
$("#interest option[value='forhim']").remove();
}
});
</script>
HTML
<div class="col-md-4 col-sm-4">
<select class="dropdown" name="segment" id="segment" tabindex="1" onchange="this.form.submit()">
<option value="" <?php if($segment == "") echo "selected"; ?> >For who?</option>
<option value="forher" <?php if($segment == "forher") echo "selected"; ?> >forher</option>
<option value="forhim" <?php if($segment == "forhim") echo "selected"; ?> >forhim</option>
</select>
</div>
<div class="col-md-4 col-sm-4">
<select class="dropdown" name="interest" id="interest" tabindex="1" onchange="this.form.submit()">
<option value="" <?php if($interest == "") echo "selected"; ?> >Person type</option>
<option value="forhim" <?php if($interest == "forhim") echo "selected"; ?> >For him</option>
<option value="sport" <?php if($interest == "sport") echo "selected"; ?> >Sport</option>
<option value="tehno" <?php if($interest == "tehno") echo "selected"; ?> >Techno</option>
</select>
JSFIDDLE:http://jsfiddle.net/0zxxrmta/1/
感谢您的帮助!
答案 0 :(得分:0)
而不是if
的列表,我更喜欢这种方式来解决问题。
您可以在此处查看代码:http://jsfiddle.net/afilini/vt2yk7oa/1/
Javascript代码:
$('#segment').change(function(){
var table = [];
table['forhim'] = 'forher'; //This means: when i select what is between [ ] (in this case forhim), remove what is after the = (in this case forher). You can add multiple rules like this one
$("#interest option[value='" + table[$(this).val()] + "']").remove();
});
答案 1 :(得分:0)
为您的选择选项声明值属性。
HTML:
<select id="segment">
<option>Select</option>
<option>forher</option>
</select>
<select id="interest">
<option>Select</option>
<option value="forhim">forhim</option>
</select>
的JQuery:
$('#segment').change(function(){
if($(this).val() == 'forher'){ // forher is value in #segment which should remove value forhim '
$("#interest option[value='forhim']").remove();
}
});
演示:
答案 2 :(得分:0)
没有太多信息可以继续,但我的猜测是您需要使用$(document).ready
。他们将它作为内联<script>
,脚本可能会尝试将change
事件处理程序附加到尚未添加的dom元素。
$(document).ready(function() {
$('#segment').change(function(){
if($(this).val() == 'forher'){
$("#interest option[value='forhim']").remove();
}
});
});
&#13;