我有两个选择框都使用select2 js,第一个你只能选择一个值,第二个你可以选择多个值,所以我想要的是让这个东西像这样 - 如果我选择“ somecategory“在第二个选择框中必须禁用此选项,如果我在选择框中选择”othercategory“,则应在第一个框中禁用相同的选项。
这是
<select name="category" class="form-control catselect">
/* here is some foreach stuff */
<option value="<?php echo $here we get ID;?>" <?php echo $here we get selected="selected";?>><?php echo $sub.lang_key($row->title);?></option>
</select>
<select name="multicat[]" class="form-control catmultiselect " multiple="multiple">
/* here is some foreach stuff */
<option value="<?php echo $here we get ID;?>" <?php echo $here we get selected="selected";?>><?php echo $sub.lang_key($row->title);?></option>
</select>
答案 0 :(得分:0)
首先,将您的多类别选择框设置为禁用。接下来,为您的选择框提供一个ID(这是可选的。您可以使用"[name='category']"
按名称而不是ID引用选择框。然后在选择框中添加一个事件处理程序:
$("#categorySelect").on("select2:select", function(e){
var value = $("#categorySelect").val();
var multicat = $("#multiCategorySelect");
if(value == "othercategory") {
multicat.prop('disabled', false); // Enable the multi-category select box
} else {
multicat.val(''); // If you want to clear the selection
multicat.prop('disabled', true); // Set it back to disabled
}
});