2015-07-02 114 views
0

我需要根據加載頁面時從控制器獲取的一個值動態設置選擇選項。加載頁面時動態設置選擇選項

<script> 
    validate selectOptions(); 

    function selectOptions(){ 
    var healthWorkerQuestions1 = "${healthWorkerQuestions}"; 
    if(healthWorkerQuestions1 == "6" || healthWorkerQuestions1 == "7" || healthWorkerQuestions1 == "8"){ 
        alert("six to eight"); 
        $('#questionOptions').empty(); 
        var sel = document.getElementById('questionOptions'); 
         for(var i = 0; i < drinker.length; i++) { 
         var opt = document.createElement('option'); 
         opt.innerHTML = drinker[i]; 
         opt.value = drinker[i]; 
         $('questionOptions').append(opt).selectmenu('refresh'); 
         //sel.appendChild(opt).selectmenu('refresh'); 
         }    
      } 

    } 
    </script> 

此處循環正在執行並且能夠看到警告框。選擇框選項不會更新。我嘗試了兩種方式,如下所示:

$('questionOptions').append(opt).selectmenu('refresh'); 
sel.appendChild(opt).selectmenu('refresh'); 

但是加載頁面時選項沒有更新。對於選擇框

代碼,

<select name="questionOptions" id="questionOptions"> 
<option>Select</option> 
</select> 

加載頁面後,我能看到的只有選擇選項,但不是動態的附加價值。如何在頁面加載時更新選擇選項。

請任何建議..

+1

使用$('#questionOptions')。append(opt).selectmenu('refresh');而是$('questionOptions')。append(opt).selectmenu('refresh'); –

+0

對不起,我正在使用$('#questionOptions')。append(opt).selectmenu('refresh');在寫問題時錯字錯誤。仍然選項不在列表中更新。任何其他的解決方案,請 – Vinod

+0

我想append返回附加元素,但selectmenu應選擇調用,所以更改代碼爲 ... { sel.appendChild(opt); } $('questionOptions')。selectmenu('refresh'); –

回答

1

代碼看起來不錯。要更新選擇選項調用方法形成jQuery文檔就緒功能,如下所述,

<script> 
$(function(){ 
selectOptions(); 
}); 

function selectOptions(){ 
// Your code here.... 
} 
</script> 

希望這會幫助你。

相關問題