2017-04-04 40 views
0

在一個表中,如何遍歷表中的所有dropdowns textid,並將它們保存在數組中。所以,我可以禁用先前選擇的選項禁用以前選擇的下拉選項,同時檢查文本和ID值

一旦一個選項被選中,我不希望它可以再次如何檢查選定的文本以前的選定的選項在表中設置該選項在頁面中的所有其他下拉菜單中禁用。

(這個問題是來自自檢查二者selected text & selected value在表的內部後其禁用其他SO問題不同,需要目標的下拉指定列中)

var allSelectedValuesArray = array(); 
allSelectedValuesArray.push($("#tblVersions .Model option:selected").text()); 

var rows = $("body tr",$("#tblVersions")).map(function() { 
return [$("td:eq(0) input:checkbox:checked",this).map(function() { 
    return this.innerHTML;  
}).get()]; 
}).get(); 

<table id="tblversions"> 
<tbody id="body"> 
    <tr class="rowcss"> 
    <td> 
    <select class="Manufacturer"> 
     <option value="1">Toyota </option> 
     <option value="2">Honda</option> 
     <option value="3">BMW</option> 
    </select> 
    </td> 
    <td> 
    <select class="Model"> 
    <!-- If user selects Honda my Ajax populates Honda Models/Cars like below--> 
     <option value="1">Accord</option> 
     <option value="2">Toyota 2</option> 
     <option value="3">Honda 3</option>   
    </select> 
    </td> 
    </tr> 
    <tr class="rowcss"> 
    <td> 
    <select class="Manufacturer"> 
     <option value="1">Toyota </option> 
     <option value="2">Honda</option> 
     <option value="3">BMW</option> 
    </select> 
    </td> 
    <td> 
    <select class="Model"> 
    <!-- If user selects BMW my Ajax populates BMW models Cars like below--> 
     <option value="1">X5 Suv</option> 
     <option value="2">318 series Cheap</option> 
     <option value="3">540i too expensive!</option>   
    </select> 
    </td> 
    </tr>  
</tbody> 
</table> 
+0

您的JS似乎與您的HTML(不同的類和ID,HTML沒有輸入元素)相關。你可以請[編輯]你的問題,舉一個例子:「當用戶從下拉列表中選擇* x * *時,會發生以下情況......」? – nnnnnn

+0

問題沒有那麼清楚 – JYoThI

+0

@nnnnnn我編輯了這個問題 - 我想禁用任何其他選擇的選項,我該怎麼做? *我想比較'text'和'value'是否相同*。這是一個級聯下拉 - 因此,在一些情況下*如果他們選擇另一個製造商,則可能有重疊的型號ID *(但不同的製造商ID)*,例如, '本田可以有價值3 = Accord',而在差異製造'豐田值3 =凱美瑞',所以我需要確保我檢查文本和價值 - 然後禁用選項 – aggie

回答

1

我不明白你的問題的第二部分,但如果你想獲得所有下拉的文本和值,你可以做這樣的事情。

// Called when any of the dropdowns change 
("#tblversions").change(function() { 
    var allSelectedValuesArray = []; 

    // Search for all selects in the #tblversions 
    $("#tblversions select option:selected").each(function() { 
     // for each one, push it into the array 
     allSelectedValuesArray.push({text:$(this).text(), value:this.value}); 
    }); 
}); 

這將在格式對象的數組{文字:「someValue中」:「SomeText」則會,值}對每個表中的下拉菜單的。

+0

嗨,感謝我編輯我的問題,我想禁用任何其他選擇的選項,我該怎麼做? *我想比較文本和價值是否相同*在某些情況下,如果他們選擇另一個製造商,則可能存在重疊的ID,例如,本田可能有價值3 =協議,但豐田價值3 =佳美,所以我需要確保我檢查文本和價值 – aggie

相關問題