我有两个控件chosen multiselect
和另一个select2 multivalue select
选择了多项选择
<select id="mlti_1" class="chosen span6" multiple='multiple' >
<option value="1">one</option>
<option value="2">two</option>
<option value="3">three</option>
</select>
jquery多值选择
<select id="mult_2" class="select2 span6" multiple='multiple'>
<option value="1">ONE</option>
<option value="2">TWO</option>
<option value="3">THREE</option>
</select>
这两个控件都运行正常,但问题是当我将这些ID传递给JS函数并尝试显示它的类型时,它们都显示类型为select-multiple
JS
//no need to initiate chosen multiselect
$('#mult_2').multiSelect(); // initiating select2 multiselect
function displayType(id) // id = mult_val or drp_me
{
var control=document.getElementById(id);
console.log(control.type); // both controls showing as select-multiple
}
我正在为两个控件使用jquery插件。基本上两者都是相同的选择控制(选择)。但实际上他们是不同的。 how i can differ these controls through code?? is there any solution for this?
答案 0 :(得分:1)
如果您的意思是使用不同的句柄访问它们及其值,那么您可以通过访问它们来执行此操作。
使用$("#mlti_1")
访问chosen
控件,使用$("#mult_2")
获取第二个多选控件。
更新:
正如我在评论中所说,您可以使用以下函数来确定多选的类型。
function displayType(id) // id = mult_val or drp_me
{
var control = document.getElementById(id);
console.log(control.type); // both controls showing as select-multiple
if (control.classList.contains("chosen")) {
console.log("chosen");
} else if (control.classList.contains("select2")) {
console.log("select2");
}
}
提供,您为HTML代码中的各种多选项分配正确的类名(selected和select2)。