2016-06-13 13 views
0

私はselect2を使用しているスクリプトを持っています。select2にデータ属性を追加する方法

$.getJSON('/dev/api/reference?id='+ id+ '&cb='+cb, function(data){ 
     data = $.map(data, function(pay){ 
     return {id: pay.po_no, text: 'PO-'+pad(pay.po_no,8),}; 
     }); 
     $(".reference").select2({ 
      minimumInputLength: 1, 
      multiple: false, 
      data: data 
     }); 
    }); 

と結果は次のとおりです。

<select class="reference form-control" data-width="100%" style="background-color: #faf2cc;"> 
    <option value="1">PO-00000001</option> 
    <option value="1">PO-00000001</option> 
    <option value="2">PO-00000002</option> 
</select> 

と私の質問、オプション内の属性のデータ型」を追加する方法? `カスタム属性を設定するためのoptions`パラメータを試してみてください

<option value="1" data-id="1">PO-00000001</option> 
<option value="1" data-id="2">PO-00000001</option> 
<option value="2" data-id="3">PO-00000002</option> 
+0

:と私はそのデータ属性を呼び出したい、私はこれを好きにしたいです。 –

答えて

0

$(document).ready(function() { 
 
var i = 1; 
 
$(".reference > option").each(function() { // iterate through all options of selectbox 
 
    $(this).attr('data-id',i); // add attribute to option with value of i 
 
    i++; // increment i 
 
}); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script> 
 
<select class="reference form-control" data-width="100%" style="background-color: #faf2cc;"> 
 
    <option value="1">PO-00000001</option> 
 
    <option value="1">PO-00000001</option> 
 
    <option value="2">PO-00000002</option> 
 
</select>

+0

何も起こらない –

+0

$ .getJSONの中に入れて、select2の初期化後に –

+0

を実行しますが、data-idがDB駆動の場合はどうなりますか? –

関連する問題