二:select下拉选框循环取值不稳定

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取值中就可以单独取值。避免重复取到的都是第一行的值。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容