使用jquery </select> </option>获取<select multiple =“”>中<option>的属性

时间:2014-04-11 10:07:35

标签: jquery

即时使用bootstrap,我怎样才能获得ie。,gl_code_id

的属性
<select style="height: 400px;" multiple="" class="form-control" id="all_codes">
           <option gl_code_id="9">2345 </option>
           <option gl_code_id="8">12345 </option>
           <option gl_code_id="7">1234 </option>
           <option gl_code_id="6">90 </option>
           <option gl_code_id="5">234 </option>
           <option gl_code_id="4">1 </option>
</select>

尝试了这个,

$(document).on("change", "#all_codes", function(){
    var id = $("#all_codes").val(); //this gives only the value
    var ids = $(this).attr('gl_code_id'); // this gives undefined
    //how can i get the selected options gl_code_id??

});

3 个答案:

答案 0 :(得分:1)

您可以使用:

$("#all_codes option:selected").attr('gl_code_id');

由于您为multiple使用了select属性,如果您要从多个所选选项中检索所有gl_code_id值,则可以使用.map():< / p>

$(document).on("change", "#all_codes", function(){
    var id = $("#all_codes").val(); //this gives only the value
    var ids = $(this).find('option:selected').map(function() {
        return $(this).attr('gl_code_id');    
    }).get();
});

<强> Fiddle Demo

答案 1 :(得分:0)

试试这个

 var ids = $(this).find('option:selected').attr('gl_code_id'); // return attr value

 $(this).find('option:selected').text(); // return selected option text

答案 2 :(得分:0)

尝试

您需要.find('option:selected')

var ids = $(this).find('option:selected').attr('gl_code_id');

.find():selected Selector