0

私は2つのコントロールを持ってい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? これは、コントロールのスクリーン ショットです。

4

1 に答える 1

1

異なるハンドルを使用してそれらとその値にアクセスするつもりだった場合は、id にアクセスするだけでそれを行うことができます。

コントロール$("#mlti_1")へのアクセスと 2 番目の複数選択コントロールに使用します。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 コード内のさまざまな複数選択に適切なクラス名 (chosen および select2) を割り当てます。

于 2014-03-04T11:35:22.560 に答える