2015-02-12 37 views
1

我想將已保存的選定項目填充到窗體控件中。如何在具有多個參數的表單控件選項中填充組合框中的選定項目?

<select class="form-control"> 
    <option data-parameter-id="685" data-parent-id="1052" data-aggregation-id="null" data-aggregation-parameter="null">ABC</option> 
    <option data-parameter-id="993" data-parent-id="0" data-aggregation-id="43" data-aggregation-parameter="2">DEF</option> 
    <option data-parameter-id="993" data-parent-id="0" data-aggregation-id="39" data-aggregation-parameter="null">XYZ</option> 
<select> 

當我得到外部輸入的值(例如:選擇具有數據匯聚ID = 39第三行)從選項必須選擇相應的值。 我已經寫的代碼爲

var savedOrderedAttributeId = $('#ordered-attribute-id').val(); 
var savedOrderedAttributeAggregationId = $('#ordered-aggregation-id').val(); 
var selectorForOptionWithSavedParameter = '"select"'+ ' option[data-aggregation-id="' + savedOrderedAttributeAggregationId + '"' + 'data-parameter-id="' + savedOrderedAttributeId + '"]'; 
$(controlSelector).find("select").val($(controlSelector).find(selectorForOptionWithSavedParameter).val()); 

什麼樣的代碼更改必須做選擇基於這兩個參數的選項?

回答

0

首先,您必須遍歷您的選擇選項並檢查哪個選項與您要查找的數據聚合ID匹配。例如。

var savedOrderedAttributeId = $('#ordered-attribute-id').val(); 
 
var savedOrderedAttributeAggregationId = $('#ordered-aggregation-id').val(); 
 
    
 
$('select option').each(function(o) { 
 
    
 
    if($(this).data('aggregation-id') == savedOrderedAttributeAggregationId && 
 
    $(this).data('parameter-id') == savedOrderedAttributeId) { 
 
    //alert('found it'); 
 
    $(this).attr('selected', 'selected'); 
 
    return false; 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select class="form-control"> 
 
    <option data-parameter-id="685" data-parent-id="1052" data-aggregation-id="null" data-aggregation-parameter="null">ABC</option> 
 
    <option data-parameter-id="993" data-parent-id="0" data-aggregation-id="43" data-aggregation-parameter="2">DEF</option> 
 
    <option data-parameter-id="993" data-parent-id="0" data-aggregation-id="39" data-aggregation-parameter="null">XYZ</option> 
 
<select>

+0

謝謝。它按預期工作。 – Aditya 2015-02-26 14:48:40

+0

在這種情況下,請將我的答案標記爲已接受。謝謝 :) – Kiran 2015-02-26 14:56:46

相關問題