我在jsp页面中有一个select元素(组合框),我想在发生某些事件时向这个组合框添加元素,比如单击一个按钮。我想要添加到此组合的元素由servlet以两个字符串1发送给显示部分,其中显示部分进入内部,另一个用于组合框中元素的值。在JSP中,我拆分了这些字符串,并且我能够提取servlet发送的项目。此外,我能够将元素添加到此组合,但是,我无法在组合中添加每个元素的值部分。有什么帮助吗?
$.ajax({
type:"get",
data:{item:selecteditem},
url:"Servlet",
dataType:"json",
success:function(data){
var modlist=data.modulelist;
var tokenlist=data.tokenlist;
var num=data.num;
var modarr=new Array();
var tokarr=new Array();
var count=1;
modarr=modlist.split("~delimiter~");
tokarr=tokenlist.split("~delimiter~");
while(count<=num){
$("#listbox").append("<option value=tokarr[count]>"+modarr[count]+"</option>");
count=count+1;
}
}
});
答案 0 :(得分:0)
因为您使用tokarr[count]
作为字符串而不是变量
改变
$("#listbox").append("<option value=tokarr[count]>"+modarr[count]+"</option>");
到
val val = tokarr[count].replace(" ", "&");
$("#listbox").append("<option value=" + val + ">"+modarr[count]+"</option>");
答案 1 :(得分:0)
试试这个:
var $options = $("#listbox"); // get select element
$options.empty(); // remove existing select options, if you want
//loop through modarr
$.each(modarr, function(index, value) {
$options.append($('<option>').text(value).attr('value', tokarr[index]));
});