js问题,动态增加select里的option,求问为什么这段代码不执行?求大神指教! 20

<script>//动态添加select中的项option:functionaddOneOption(){varoptionlist=newArray();<%Strin... <script>

// 动态添加select中的项option:
function addOneOption(){

var optionlist = new Array();
<%
String[] arrlist = (String[]) request.getAttribute("optionlist"); //调用servlet传来的数组
if(null != arrlist)
{
for(int i = 0; i < arrlist.length; i++)
{
%> optionlist[<%=i%>]=<%=arrlist[i]%>;
<%
}
}
%>
var selectObj=document.getElementById("user_dm");
var option = document.createElement("option");
for(var t = 0 ;t < optionlist.length;t++)
{
option.value=optionlist[t];
option.innerHTML = t;
selectObj.appendChild(option);
}
</script>

====================================
<body>
<select id="user_dm" name="user_dm">
</select><br>
<input type="button" onClick="addOneOption()" value="添加">
</body>

本来添加单个option就行的,加了上面那段java代码就不执行了。
展开
 我来答
jack_wang0823
推荐于2017-09-12 · TA获得超过2957个赞
知道大有可为答主
回答量:4143
采纳率:87%
帮助的人:1446万
展开全部

java  代码 是后台执行 , 在前台 是无法执行的 , 

如果要从后台获取数据  要使用ajax的方式  在回调函数里面增加选项

function addOneOption(){
$ajax({
    url:url,
    success:function(data){
     var optionlist = eval('(' +data + ')');
     var selectObj=document.getElementById("user_dm");
    var option = document.createElement("option");
    for(var t = 0 ;t < optionlist.length;t++)
    { 
        option.value=optionlist[t];
        option.innerHTML = t;
        selectObj.appendChild(option);
    }
    },
});
var selectObj=document.getElementById("user_dm");
var option = document.createElement("option");
for(var t = 0 ;t < optionlist.length;t++)

option.value=optionlist[t];
option.innerHTML = t;
selectObj.appendChild(option);
}
</script>

====================================
<body>
<select id="user_dm" name="user_dm">
</select><br>
<input type="button" onClick="addOneOption()" value="添加">
</body>
s136357491
2014-10-15 · TA获得超过223个赞
知道小有建树答主
回答量:295
采纳率:0%
帮助的人:147万
展开全部
写的什么乱七八糟的,自己右键查看源文件,看看生成的什么东西再说
追问
上面java代码单独拿出来能成功执行,optionlist能获取一个数组。下面的js代码如果删掉上面的java也能成功执行,动态增加select的子项option,加在一起就不成功了。我就是要把数组里的值作为新增option的值
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式