如何将属性设置为动态创建的jquery select2?

时间:2014-10-26 07:18:28

标签: jquery twitter-bootstrap-3 jquery-select2

我正在创建一个jquery select2(基于jQuery的替换选择框)并通过$.post动态加载选项。

我想添加动态数据。每个选项的属性,但我无法弄清楚如何。

这就是我所拥有的:

$("#pa_billSchedule").select2({
    data: myResults
}).select2('val', []);

其中myResults是标准格式$.post返回的数据:(id: "", text: "")

1 个答案:

答案 0 :(得分:1)

您可以使用$.change()事件执行此操作。检查此JsFiddle

<input type="hidden" name="pa_billSchedule" id="pa_billSchedule" />
<script>
$(document).ready(function() {
    $("#pa_billSchedule").select2({
       // this is for testing purposes. You should use `myResults`
       data: [
        {id: 1, text: 'first', customData: 'red'},
        {id: 2, text: 'second', customData: 'green'},
        {id: 3, text: 'third', customData: 'blue'}
       ]
    }).select2('val', [])
    .on('change', function() {
        // and this is where you get the custom attribute
        if ($(this).select2('data').customData == 'red') {
            alert('the first option was selected');
            // do what you need
        }
    });
});
</script>