很抱歉打扰,但我是jquery的新手并试图解决这个问题。 提前致谢。
我有一个网页,里面装满了几套基于几个计算机组件的单选按钮。 我的页面顶部有一些图像可以触发某些单选按钮。 我对此的javascript是:
$( document ).ready( function() { $('img#gaming').click(function () { $('.small_image').attr("src","../img/GamingPlain.png"); $('input:radio[name=chasis]')[2].checked = true; $('input:radio[name=cpu]')[1].checked = true; $('input:radio[name=mobo]')[1].checked = true; $('input:radio[name=ram]')[1].checked = true; $('input:radio[name=gpu]')[1].checked = true; $('input:radio[name=psu]')[1].checked = true; $('input:radio[name=hdd]')[2].checked = true; }); . . . });
这工作正常。 我还必须根据选择的单选按钮更改页面的一部分。 它看起来像这样:
$( document ).ready( function() { $('input[name=chasis]').change(function() { var txt = $(this).parent().text(); var price = txt.match(/($)([d]+)/) $('span#chasisprice').text(price[0]); }); $('input[name=cpu]').change(function() { var txt = $(this).parent().text(); var price = txt.match(/($)([0-9]+)/) $('span#cpuprice').text(price[0]); }); . . . });
这也可以正常工作。 但是,当我使用第一段代码(用户点击’img#gaming’)选择自动选择单个单选按钮时,第二段代码不会触发(也就是未注册更改)。
是否有不同forms的.change将注册新选择的单选按钮? 或者选择注册变更的单选按钮的另一种方式?
您可以使用.trigger()
触发更改事件:
... $('input:radio[name=psu]')[1].checked = true; $('input:radio[name=hdd]')[2].checked = true; $('input:radio').trigger('change');
另外,不要使用input:radio
。 input:radio
不是CSS选择器, document.querySelector
不支持,因此它的运行速度比input[type="radio"]
慢。
我建议你重新考虑你的布局。 您不必每次只需稍作更改就重复相同的代码块。
需要了解更多jQuery教程分享jQuery不会触发单选按钮更改,都可以关注jQuery技术分享栏目—计算机技术网(www.ctvol.com)!
以上就是jQuery教程分享jQuery不会触发单选按钮更改相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/jquerytutorial/982151.html