jquery怎么自动触发radio的点击事件

jquery怎么自动触发radio的点击事件,第1张

给对应的radio加个类名或者Id,然后在在需要触发的函数里写上对应radio的点击事件,如在页面加载完成时点击:

<inputtype="radio"class="radiobox"/>&#36;(document)ready(function(){

&#36;("radiobox")click();

});

<script type="text/javascript">

// 两秒后模拟点击

setTimeout(function() {

// IE

if(documentall) {

documentgetElementById("clickMe")click();

}

// 其它浏览器

else {

var e = documentcreateEvent("MouseEvents");

einitEvent("click", true, true);

documentgetElementById("clickMe")dispatchEvent(e);

}

}, 2000);

</script>

<a href="#" id="clickMe" onclick="alert('clicked');">link</a>

获取选中的值

获取一组radio被选中项的值

var item = $(“input[@name=items]:checked”)val();

获取select被选中项的文本

var item = $("select[@name=items] option[@selected]")text();

select下拉框的第二个元素为当前选中值

$('#select_id')[0]selectedIndex = 1;

radio单选组的第二个元素为当前选中值

$('input[@name=items]')get(1)checked = true;

获取值:

文本框,文本区域:

$("#txt")attr("value");

$("#txt")val();

多选框checkbox:

$("#checkbox_id")attr("value");

单选组radio:

$("input[@type=radio][@checked]")val();

下拉框select:

$('#sel')val();

控制表单元素:

文本框,文本区域:

$("#txt")attr("value",'');//清空内容

$("#txt")attr("value",'11');//填充内容

多选框checkbox:

$("#chk1")attr("checked",'');//不打勾

$("#chk2")attr("checked",true);//打勾

if($("#chk1")attr('checked')==undefined) //判断是否已经打勾

单选组radio:

$("input[@type=radio]")attr("checked",'2');

//设置value=2的项目为当前选中项

下拉框select:

$("#sel")attr("value",'-sel3');//设置value=-sel3的项目为当前选中项

$("<optionvalue='1'>1111</option><optionvalue='2'>2222</option>")

appendTo("#sel")//添加下拉框的option

$("#sel")empty();//清空下拉框

在Jquery中,用$("#id")来获得页面的input元素,其相当于documentgetElementById("element")但是,该获取的是一个Jquery对象,而不是一个dom element对象value是dom element对象的属性所以,使用$("#id")value不能取到值取值的方法如下:

取值:

val = $("#id")[0]value;

$("#id")[0]value = "new value";

赋值:

$("#id")[0]value = "new value";

或者$("#id")val("new value");

val = $("#id")attr("value");

如果是把点击事件绑定到label标签上,那肯定就是这种情况的,因为单选框的选中事件肯定是发生在label标签的点击事件发生之后的,所以label的点击事件是无法实时捕捉到单选框被选中后的值的。之所以会触发两次,是单选框的值改变后会产生事件冒泡,让上级的label标签再次触发事件。

解决办法可以通过事件委托,放过第一次触发,然后冒泡后的再来处理。但是,我更希望你换一种思路,不要只盯着label的点击事件,你可以考虑下利用单选框的change事件,也就是说只要单选框的选中状态发生改变就进行处理,这样当你点击label时单选框选中也会触发change事件的,而且不用担心会执行两次了。类似这样:

$( "zy_time label input:radio" )change( function () {

consolelog('哈哈');

} );

选择器问题,没有选择到radio这个元素

radio元素没有设置value属性

取的时候没有:checked,$('input:checked[name="sex"]')val()

以上就是关于jquery怎么自动触发radio的点击事件全部的内容,包括:jquery怎么自动触发radio的点击事件、jq怎么获取input的值到页面、jquery 执行两次等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9522616.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存