Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 选中单选按钮时启动操作_Javascript_Jquery_Html_Jquery Events - Fatal编程技术网

Javascript 选中单选按钮时启动操作

Javascript 选中单选按钮时启动操作,javascript,jquery,html,jquery-events,Javascript,Jquery,Html,Jquery Events,这是我的HTML,我有两个单选按钮。默认选中的按钮是“租赁”按钮 您可以直接将所选值写入控制台。对CSS选择器使用单引号和双引号的组合 $(“输入[type=radio][name='quote\u请求[payment\u option]”)。更改(函数(){ log($(this.val()); }); $(文档).ready(函数(){ $(“:radio[name='quote\u request[payment\u option]'])。更改(函数(){ 如果(this.value

这是我的HTML,我有两个单选按钮。默认选中的按钮是“租赁”按钮


您可以直接将所选值写入控制台。对CSS选择器使用单引号和双引号的组合

$(“输入[type=radio][name='quote\u请求[payment\u option]”)。更改(函数(){
log($(this.val());
});

$(文档).ready(函数(){
$(“:radio[name='quote\u request[payment\u option]'])。更改(函数(){
如果(this.value=='lease'){
控制台日志(“租赁”);
}else if(this.value=='finance'){
控制台日志(“财务”);
}
});
});

运行代码段以查看控制台中的更改

$('input[type=radio]')。更改(function(){
log($(this.val());
});

在html复选框中添加以下触发器

onchange="myFunction(this)"
在我的职责范围内

function myFunction(element)
{
   //do stuff
}

这个怎么样?

您的CSS选择器是导致问题的原因,请尝试使用:

$("input[name='quotation_request[payment_option]']").change(function() {
...
}

您的jquery选择器错误。应该是

$("input[type='radio'][name='quotation_request[payment_option]']").change(function(){    
    var value = $(this).val()    
    if(value == "lease") {    
        console.log(value);    
    } else if(value == "finance") {    
        console.log(value);    
    }
});

“默认选中的按钮是“租赁”按钮。”-为什么在两个按钮上都有
checked=“checked”
?这是一个打字错误,我的意思是只在租赁按钮上选中了=“checked”,但这将适用于页面上的所有单选按钮,而不仅仅是带有
name=“quote\u request[payment\u option]”的两个按钮。
。(即使OP当前没有其他收音机,将来也可能有。)这将适用于页面上的所有单选按钮,而不仅仅是带有
name=“quote\u request[payment\u option]”“
(即使OP当前没有其他收音机,将来也可能有。)嗨,我更新了答案,因此现在只会影响带有名称的单选按钮“QUOTE_request[payment_option]”“您的jquery对象”-我想您指的是选择器,而不是对象。为什么您使用
$(this.attr(“value”)
而不是
this.value
?但这适用于页面上的每个单选按钮,而不仅仅是具有指定名称的按钮。@nnnnnnnn,然后使用
'
的组合
指定CSS选择器。您也可以使用
[name^=quote\u request]
而不是
[name='quote\u request[payment\u option]“
。我试过了…不知道为什么它不起作用如果你在下面运行代码段时它起作用有趣的是,我在我的控制台中没有看到错误,但它不打印租赁和融资。你可以在匿名模式下运行吗?只是在chrome上尝试了匿名模式,仍然不起作用:(@AliciaGuerra如果我不知道这个问题,我就帮不了你。我不知道是什么导致了你的问题,除非你能在演示中复制
$("input[name='quotation_request[payment_option]']").change(function() {
...
}
$("input[type='radio'][name='quotation_request[payment_option]']").change(function(){    
    var value = $(this).val()    
    if(value == "lease") {    
        console.log(value);    
    } else if(value == "finance") {    
        console.log(value);    
    }
});