2017-03-02 73 views
0

我有一個選擇這樣定義(轉換成選擇2):閱讀選項屬性

<select class="form-control" name="Questions[3].ANSWER_LOOKUP_OPTION_ID" id="Questions[3].ANSWER_LOOKUP_OPTION_ID" multiple=""> 
    <option value="57" data-index="1">Child Find/Public Awareness</option> 
    <option value="58" data-index="2">Referral</option> 
    <option value="59" data-index="3">Assessment/Evaluation</option> 
    <option value="60" data-index="4">IFSP Development</option> 
    <option value="61" data-index="5">Assistive Technology Services and Devices</option> 
    <option value="62" data-index="6">Audiology</option> 
    <option value="63" data-index="7">Auditory Services</option> 
    <option value="64" data-index="8">Specialized skills training</option> 
    <option value="65" data-index="9">Family Counseling</option> 
</select> 

使用此代碼,我想設置$ optionscsv文本到所有所選擇的選項的數據索引值而不是他們的val();

var $options = $('#Questions\\[3\\]\\.ANSWER_LOOKUP_OPTION_ID'), 
    $optionscsv = $('span#optionscsv'); 
$("#Questions\\[3\\]\\.ANSWER_LOOKUP_OPTION_ID") 
    .select2() 
    .on('change', function() { 
     $optionscsv.text($options.val()); 
    }); 

當兒童查找/公衆意識+評價/評估+ IFSP發展選擇,上面顯示的代碼的結果:57, 59, 60 期望的結果是:1, 3, 4

回答

0

下面是答案:

.on('change', function() { 
    var selected_options = []; 
    $(this).find("option:selected").each(function(){ 
     selected_options.push(parseInt($(this).attr('data-index'))); 
    }); 
    $optionscsv.text(selected_options.join()); 
});