我有2个单选按钮和jquery运行。javascript jquery单选按钮单击
<input type="radio" name="lom" value="1" checked> first
<input type="radio" name="lom" value="2"> second
现在,用一个按钮我可以设置onClick来运行一个函数。当我单击其中一个按钮时,单选按钮的运行方式是什么?
我有2个单选按钮和jquery运行。javascript jquery单选按钮单击
<input type="radio" name="lom" value="1" checked> first
<input type="radio" name="lom" value="2"> second
现在,用一个按钮我可以设置onClick来运行一个函数。当我单击其中一个按钮时,单选按钮的运行方式是什么?
可以使用.change
您要
$("input[@name='lom']").change(function(){
// Do something interesting here
});
什么在jQuery 1.3
的你不再需要 '@'。选择正确的方法是:
$("input[name='lom']")
请注意,截至jQuery 1.3,您不再需要'@'。正确的选择方法是:'$(“input [name ='lom']”) – lubar 2013-01-20 01:56:19
这个解决方案是否可以与基于无线电值的条件语句在@JohnIdol的解决方案中集成? ex($(“input [name ='lom']”)。change(function(){if($(this).val()==='1'){.....//其余的条件语句基于这里的值};' – LazerSharks 2013-07-03 07:01:42
从jQuery 1.3开始,你**不应该在name属性中使用'@'。如果你这样做,你将得到一个'jquery.self-0a6570c ... .js?body = 1:1464未捕获的错误:语法错误,无法识别的表达式错误。所以这不是一个选择问题。 – scaryguy 2016-09-26 21:05:01
这应该是很好的
$(document).ready(function() {
$('input:radio').change(function() {
alert('ole');
});
});
你错过了a);在后面。 – 2016-12-29 11:19:40
如果你在一个容器中的无线电设备使用id = radioButtonContainerId你仍然可以使用的onClick然后检查选择其中之一,并相应地运行一些功能:
$('#radioButtonContainerId input:radio').click(function() {
if ($(this).val() === '1') {
myFunction();
} else if ($(this).val() === '2') {
myOtherFunction();
}
});
限制DOM搜索总是好的。所以更好地使用父母,以便整个DOM不会被遍历。
IT IS VERY FAST
<div id="radioBtnDiv">
<input name="myButton" type="radio" class="radioClass" value="manual" checked="checked"/>
<input name="myButton" type="radio" class="radioClass" value="auto" checked="checked"/>
</div>
$("input[name='myButton']",$('#radioBtnDiv')).change(
function(e)
{
// your stuffs go here
});
有几种方法可以做到这一点。强烈建议在单选按钮周围放置容器,不过,您也可以直接在按钮上放置课程。有了这个HTML:
<ul id="shapeList" class="radioList">
<li><label>Shape:</label></li>
<li><input id="shapeList_0" class="shapeButton" type="radio" value="Circular" name="shapeList" /><label for="shapeList_0">Circular</label></li>
<li><input id="shapeList_1" class="shapeButton" type="radio" value="Rectangular" name="shapeList" /><label for="shapeList_1">Rectangular</label></li>
</ul>
您可以通过类选择:
$(".shapeButton").click(SetShape);
或容器ID选择:
$("#shapeList").click(SetShape);
在这两种情况下,事件将触发点击任一电台按钮或标签,但在后一种情况下(通过“#shapeList”选择),单击该标签将由于某种原因触发点击功能两次,至少在FireFox中是这样;按班级选择不会那样做。
SetShape是一个函数,看起来像这样:
function SetShape() {
var Shape = $('.shapeButton:checked').val();
//dostuff
}
这种方式,你可以对你的按钮中的标签,并且可以具有做不同的事情在同一个页面上的多个单选按钮列表。甚至可以让同一列表中的每个单独按钮通过根据按钮的值在SetShape()中设置不同的行为来执行不同的操作。
<input type="radio" name="radio" value="creditcard" />
<input type="radio" name="radio" value="cash"/>
<input type="radio" name="radio" value="cheque"/>
<input type="radio" name="radio" value="instore"/>
$("input[name='radio']:checked").val()
尽管这个答案没有显示如何将代码连接到事件,但我喜欢它包含如何检索单选按钮组的值的信息。 – Manfred 2014-10-22 07:21:22
$(“input [@ name ='lom']”)。change(function(){ //在这里做一些有趣的事情 }); – 2014-11-09 22:47:41
注意。最好不要让表单元素响应点击,因为很多人使用键盘导航表单。 – superluminary 2014-03-17 16:37:47