2013-10-24 107 views
1

我通過使用此代碼我在選擇期權價值

var module_list = document.getElementById("taModule"); 
$("#taModule").empty(); //this is the solution code 
for(i=0;i<pid.length;i++){ 
if (pid[i] == projid){ 
var option = document.createElement("option");    
option.text = mname[i]; 
option.value = mid[i]; 
module_list.appendChild(option); 
} 
} 

嗨,我有下拉列表框瞭解決方案,清除現有值。一個有像項目這樣的值列表。第二個是模塊下拉列表,所以當客戶選擇特定的項目。列出與項目相關的模塊。 的javascript:

function populate(val) { 
     var projid = val; 
     var pid = new Array(); 
     var mid = new Array(); 
     var mname = new Array(); 

     pid = <?php echo json_encode($pid); ?>; 
     mid = <?php echo json_encode($mid); ?>; 
     mname = <?php echo json_encode($mname); ?>; 
var module_list = document.getElementById("taModule"); 
$('#taModule').val('');  
       for(i=0;i<pid.length;i++){ 
      if (pid[i] == projid){ 
      var option = document.createElement("option"); 
       option.text = mname[i]; 
       option.value = mid[i];    
       module_list.appendChild(option); 
      } 
     } 
    } 

的html代碼:

<tr> 
    <td><label for="taProj"><?php echo t('Project')?>:</label></td>   
    <td><select name="taProj" id="taProj" onchange= "populate(this.value)"> 
    <option value="" >-------------------------</option> 
    <?php foreach ($tap as $row){?> 
    <option value="<?php echo $row['proj_id']; ?>" ><?php echo $row['proj_name'];?></option> <?php } ?> 
    </select></td> 
    </tr>  
    <tr>       
    <td><label for="taModule"><?php echo t('Module Name')?>:</label></td> 
    <td><select name="taModule" id="taModule" > 
    <option value="" >-------------------------</option> 
    </select></td> 
    </tr> 

如果我選擇的項目,它顯示了相關的模塊,但如果我再次選擇其他項目加入現有的模塊列表中的相關模塊。所以我想避免這一點。我嘗試一些腳本中刪除,空,空不workig,請任何一個建議我,指出我如何實現這一任務,謝謝

庫馬爾

+0

感謝,如果有人試圖解決這個意思。我通過jquery獲得瞭解決方案。這將清除所有現有的選項值$(「#droplist」)。empty();'我得到了解決方案以下[鏈接](http://stackoverflow.com/a/3364721/2806972) –

回答

2

我找到了解決方案。只需添加代碼的js函數,之前在for循環

$("#taModule").empty(); 

感謝計算器。

2

,如果你不使用jQuery:

var select = document.getElementById('/*id attribute of your select here*/'); 
for (var option in select){ 
    select.remove(option); 
}