2012-06-17 138 views
0

我有一個下拉菜單。有產品類型。產品類型具有關聯值(從下拉菜單中)與機器組相對應。如何在下拉菜單中篩選所選值的文本

所以每個選項應該有三個變量 - 機器名稱,值,機器組。

我可以獲得機器名稱,並且可以獲取機器值(並將它們顯示在不同的字段中)...我無法弄清楚的是如何將值更改爲機器組。

jQuery('#MachineName').bind('change', function() 
    { 

     //get selected value from drop down; 
     var selectedValue = jQuery("#MachineName").val(); 

     //populate a text field with the selected drop down value 
     jQuery("#MachineValue").val(selectedValue); 

我想什麼做的是保持這種MachineValue但隨後填充另一個文本字段排序MachineGroup

我一直在試圖通過類似

switch(jQuery(this).val()){ 
    case "236" : newVal = "8"; 
    break; 

但我運行它不想「改變」我只想做一個「if then」類型過濾器的值,所以可能類似於:

'236' => "8", '237' => "5", 

我只是不知道如何正確地說「分配基於MachineValue的MachineGroup」(然後讓它填充不同的文本字段)

最後我會有三個字段。下拉菜單,MachineValue和MachineGroup。下拉和價值完成,我只需要做Group。 (並且我可以根據MachineName對Group進行排序...只是不確定哪一個會更容易)

回答

0

客戶端最簡單的方法是讓服務器爲標記添加一些額外的data-屬性。 jQuery.data()可以很容易地檢索這些。

HTML:

<option value="5" data-group="foo" data-name="Bar">Bar</option> 

JS:

$('select').change(function(){ 
    var $sel=$(this).find('option:selected'); 
    var machineGroup=$sel.data('group'); 
    var machineName=$sel.data('name'); 
    var value= $sel.val()// or $(this).val(); 
}); 

API(讀向下跌破第一個系列的例子,功能是不是在原來的API)

http://api.jquery.com/data/

+0

謝謝...這將工作得很好,但我不幸沒有權限添加額外的數據屬性。這個下拉是動態生成的,所以我堅持只能使用兩個現有的machineName和machineValue,我無法更改/修改。 – Carlos

+0

好的。你是否有一個數組顯示每個組中的內容?在不知道你要與 – charlietfl

+0

合作的情況下回答困難的問題是。我做。我可以將machineGroup關聯到machineName或machineValue大小寫「173」:newVal =「3」;打破;或者'236'=>「8」,'237'=>「5」或者'kkm-444'=>「8」(kkm-444是machineName 173,236,237是machineValue, 3正在machineGroup) – Carlos

相關問題