选择的jquery类型和select2 multlectlect

时间:2014-03-04 10:39:23

标签: javascript jquery jquery-select2 jquery-chosen jquery-multiselect

我有两个控件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? This is the screen shots of the controls

1 个答案:

答案 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)。