1.事件还原
在一个商家推荐的环节,使用下拉选择框,获取下拉选择的value值,通过AJAX执行数据库操作。对表示推荐的字段执行修改。使用过程中发现除了第一行可以稳定修改成功,其他行经常性修改失败。如下图:
示例图2.原始代码
<select onchange="tj('<%=id%>')" name="tj" id="tj">
<option value="0" <%if(tj.equals("0")){%> selected<%}%>>未推荐</option>
<option value="1" <%if(tj.equals("1")){%> selected<%}%>>推荐</option>
</select>
通过id来获取value值,导致每个生成的option都是采用一样的id,导致了只有第一行才能正确的修改。
3.修改代码如
<select onchange="tj1('<%=id%>')" name="tj<%=id%>" id="tj<%=id%>">
<option value="0" <%if(tj.equals("0")){%> selected<%}%>>未推荐</option>
<option value="1" <%if(tj.equals("1")){%> selected<%}%>>推荐</option>
</select>
在这个循环中,通过每次给新生成的option的ID赋值,加上该option字段中的ID,组成唯一的ID,之后的JS取值中就可以单独取值。避免重复取到的都是第一行的值。
网友评论