选中同一国家单选框时两个select下拉框值同步jQuery实现问题
问题原因
- 赋值逻辑颠倒:需求是将第一个下拉框的选中值同步给第二个,现有代码是取第二个下拉框的选中项文本,直接覆盖了第一个下拉框选中项的文本,和需求完全反向
- 操作属性错误:要修改下拉框的选中状态,直接操作
<select>元素的val()属性即可,不需要修改option的文本内容
修正后核心代码
jQuery(document).on('change', '#same', function() { if(this.checked) { // 取第一个下拉框的选中value,直接赋值给第二个下拉框即可完成同步选中 const firstSelectedVal = jQuery('#country-first').val(); jQuery('#country-second').val(firstSelectedVal); } });
可选补充逻辑
如果需要选中「不同国家」单选按钮时重置第二个下拉框状态,可以补充对应监听:
jQuery(document).on('change', '#different', function() { if(this.checked) { // 示例为清空第二个下拉框选中值,可根据实际需求调整逻辑 jQuery('#country-second').val(''); } });
内容的提问来源于stack exchange,提问作者user14907549
相关产品推荐
相关产品推荐

