单选框radio改变事件,改变单选按钮radio的默认样式
jquery 执行两次?
如果是把点击事件绑定到label标签上,那肯定就是这种情况的,因为单选框的选中事件肯定是发生在label标签的点击事件发生之后的,所以label的点击事件是无法实时捕捉到单选框被选中后的值的。之所以会触发两次,是单选框的值改变后会产生事件冒泡,让上级的label标签再次触发事件。
解决办法可以通过事件委托,放过第一次触发,然后冒泡后的再来处理。但是,我更希望你换一种思路,不要只盯着label的点击事件,你可以考虑下利用单选框的change事件,也就是说只要单选框的选中状态发生改变就进行处理,这样当你点击label时单选框选中也会触发change事件的,而且不用担心会执行两次了。类似这样:
$( ".zy_time label input:radio" ).change( function () {
console.log('哈哈');
} );
javascript单选框radio太小,如何放大。
这个是无法放大的,浏览器渲染这有那么大,你在网页上看到的那种都是通过radio和label在加上背景图实现的。然后通过点击事件动态改变checked和unchecked背景图来实现你所说的功能。
jsp中选择单选框改变下面显示的值,这个代码如何实现
用js触发啦 点击radio的时候 获取他的单击事件 然后将他的vslue值获取到写进TD里面 TD里面最好用个什么标签来接收好操作一点
JS怎样操作改变radio的状态
!DOCTYPE?html
html
head
meta?charset="UTF-8"?/
titleJS怎样操作改变radio的状态/title
script
var?radio?=?function(name){
this.name?=?'';?//单选框名字
this.members?=?[];?//单选框的成员
this.init?=?function(name){?//初始化
var?newMembers?=?[];?//新的成员
this.name?=?name;
this.members?=?document.body.getElementsByTagName('input');
for(var?i?=?0;?i??this.members.length;?i++){
if(?this.members[i].name?==?this.name?){
newMembers.push(?this.members[i]?);
}
}
this.members?=?newMembers;?//覆盖
}
this.select?=?function(index){?//看这个函数就行,其他的请无视
for(var?i?=?0;?i??this.members.length;?i++){
if(?i?==?index?){
this.members[i].checked?=?true;
}else{
this.members[i].checked?=?false;
}
}
}
this.init(name);
}
window.onload?=?function(){
window.sex?=?new?radio('sex');
}
/script
/head
body
div?class="main"
span请选择你的性别:/span
input?type="radio"?name="sex"?value="男"?span男/span
input?type="radio"?name="sex"?value="女"?span女/span
hr?/
button?onclick="sex.select(0)"选择男/button
button?onclick="sex.select(1)"选择女/button
button?onclick="sex.select(-1)"都不选/button
/div
/body
/html
只要控制radio元素checked属性即可
这里写了个案例(写完才发现,忘了检查类型了,不过不影响这题的回答)
附图:
HTML复选框和单选框 checkbox和radio事件介绍
checkbox
和
radio的事件选择一度让我很迷惑。
开始以我对js的理解,我觉得change事件应该是最合理的,可惜啊ie下change事件是在改变后焦点离开时才触发。
后来就用click
mousedown等鼠标事件代替。发现click比mousedown要更完美一些:
radio注册了click事件以后,神奇的是用键盘上的上下左右选择时,居然会触发鼠标事件,滚轮也会触发,这种神奇的事情在mousedown下面是不会发生的。(webkit不能使用上下左右选择)
checkbox注册click事件后,奇迹再次上演,当我们用空格选中checkbox时,神奇的click事件再次触发,而mousedown再次与奇迹擦身而过。(webkit还是不能用空格选择)
让我们都用click吧,给这两位老兄减负吧,不要为了他们先天不足给他们绑定一堆事件了,对于这两个家伙click才是万能的。膜拜一下~~~
在用表单设计调查表时,为了减少用户的操作,使用选择框是一个好主意,在HTML的input标记中有两种选择框,即单选框和复选框,两者的区别是单选框中的选项用户只能选择一项,而复选框中的选项用户可以任意选择多项,甚至全选。请看下面的例子:
下面给出这个例子的源代码,结合代码来讲各参数的设置:
form
name="form1"
你是否喜欢旅游?请选择:
复制代码
代码如下:
input
type="radio"
name="radiobutton"
value="radiobutton"
checked
喜欢
input
type="radio"
name="radiobutton"
value="radiobutton"
不喜欢
input
type="radio"
name="radiobutton"
value="radiobutton"
无所谓br
您对那些运动感兴趣,请选择:
复制代码
代码如下:
input
type="checkbox"
name="checkbox1"
value="checkbox"
跑步
input
type="checkbox"
name="checkbox2"
value="checkbox"
打球
input
type="checkbox"
name="checkbox3"
value="checkbox"
登山
input
type="checkbox"
name="checkbox4"
value="checkbox"
健美br
/form
从上面的源代码中可看出,制作单选框只要把input标记的type参数设置为type="radio"就行了;而制作复选框则只要把input标记的type参数设置为type="checkbox"就行了。至于实际应用中用那种选择框,要根据实际需要而定。若只需用户有一种选择的,就用单选框,如本例中“你是否喜欢旅游?”这个问题,用户只能是一种选择,所以采用了单选框;若允许用户有多项选择的内容,则采用复选框,如本例中的“你对那些运动感兴趣?”这个问题,因一个人的兴趣可能是多方面的,所以采用了复选框。
在input标记中设定checked参数,则该选框就被默认选中。如本例的第一个单选框(“喜欢”下面那个单选框)就设置为默认选中,这样用户若是想选择“喜欢”的话,就可以不用再选了,当然,若用户要选择了“不喜欢”,则只要点击“不喜欢”下的那单选框,而默认值被自动取消。用同样的方法也可以设置某个复选框为默认被选中。但是复选框的默认选中不可滥用,否则会引起用户的反感。
在radio里面千万要注意记得把所有的input
type='radio'这个对象的name属性都设为相同的,比如说上例的
name="radiobutton"
,记住不是ID属性,只有这样才能实现单选的效果,不然的话上面例子的‘喜欢'、‘不喜欢'、‘无所谓'就可以同时选上了,切记!
layui 下 监听单选框radio改变事件
若是使用jquery的话
注意:如果是引?了layui的样式和?法,则上?的监听事件失效,被layui接管了
而且如果你有多个radio,需要加入lay-filter来区分,否则监听不起作用
所以应该如下写法: