2015-07-02 94 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> 

希望这会帮助你。

相关问题