jQuery select2 - 如何从选项中获取属性?

时间:2014-07-26 13:36:40

标签: jquery twitter-bootstrap jquery-select2

如何使用bootstrap中的select2从SELECT中的选定(!)OPTION元素获取属性?

HTML:

<select id="select_project_type">
    <option value="1" required-property="A">Option 1</option>
    <option value="2" required-property="B">Option 2</option>
</select>

JS:

$('#select_project_type').select2({
    placeholder: $('#select_project_type').prop('placeholder')
});

$('#select_project_type').on('select2-selecting', function(e) {
    console.log(e); // Here I got all object, but I don't know how 
                    // to get required-property from selected option
});

2 个答案:

答案 0 :(得分:2)

我们可以将属性更新为data-required-property,

然后您可以尝试以下代码:

$('.select2').select2({
placeholder: $('.select2').prop('placeholder')
});

$('#select_project_type').on('select2-selecting', function(e) {
   console.log($(this).find(":selected").data('required-property')); 
});

DEMO

答案 1 :(得分:0)

您可以尝试使用这样的精确CSS选择器:

$("#select_project_type option[value=1]").attr("required-property");
$("#select_project_type option[value=2]").attr("required-property")

DEMO:http://jsfiddle.net/2cXt5/

编辑:要从所选选项中仅获取该属性,请使用此选择器:

$("#select_project_type option:selected").attr("required-property");

另外,您可能希望使用选择change event来查找选项何时更改并更新ypur数据。

DEMO:http://jsfiddle.net/2cXt5/2/