如何找出用户在Javascript中选择的单选按钮?
我有一张像这样的表格 现在,我遇到的问题是,用户可以选择多个单选按钮。他们应该只能选择1。 我有一个Javascript函数,它将遍历所有行,并禁用此处未选中的按钮如何找出用户在Javascript中选择的单选按钮?,javascript,jquery,html,haml,Javascript,Jquery,Html,Haml,我有一张像这样的表格 现在,我遇到的问题是,用户可以选择多个单选按钮。他们应该只能选择1。 我有一个Javascript函数,它将遍历所有行,并禁用此处未选中的按钮 function disableNonSelectedRadioButtons(selectedRadioButton) { $('#payer-contract-global-table .clone-target').each(function (i) { var radioName = 'radio
function disableNonSelectedRadioButtons(selectedRadioButton) {
$('#payer-contract-global-table .clone-target').each(function (i) {
var radioName = 'radio' + '-c' + i;
if (selectedRadioButton != radioName)
$('#' + radioName).prop("checked", false);
});
}
这很有效。但是我需要将正确的selectedRadioButton
发送到此函数。如何在Javascript中正确地实现这一点
目前,HAML如下所示:
%input.radio-button{:name => "radio-c#{index}", :type => "radio", :id => "radio-c#{index}", :checked => "true"}
$(document).on('click', 'input[type="radio"]', function(e){
var selectedRadioName = $(this).attr('name');
disableNonSelectedRadioButtons(selectedRadioName);
});
Javascript中是否有某种类型的代码可以这样做
如果我单击radio-c2的按钮,它将发送到我的函数?您可以使用
如果要使用jQuery:
$('input[type="radio"]').click(function(e){
var selectedRadioName = $(this).attr('name');
disableNonSelectedRadioButtons(selectedRadioName);
});
如果要动态创建元素,请使用事件委派:
也就是说,您只需使用HTML即可:
<input type="radio" name="giveThemAllTheSameName" />
通过赋予单选按钮相同的名称,您将只能选择一个。如果您遇到事件未被触发,则会发生这种情况,因为DOM元素是动态生成的(我认为…),我这样解决它:
%input.radio-button{:name => "radio-c#{index}", :type => "radio", :id => "radio-c#{index}", :checked => "true"}
$(document).on('click', 'input[type="radio"]', function(e){
var selectedRadioName = $(this).attr('name');
disableNonSelectedRadioButtons(selectedRadioName);
});
以防万一。为什么不能使用常规HTML和?@Mdjon26不清楚您的要求是什么,请更准确地澄清您的问题。因为从您的帖子中,您似乎只需要一个功能,一次只能选择一个收音机,而不需要javascript。只要做上面提到的@SébastienVercammen就行了。如果这不是您想要的,请详细说明。不要将Javascript用于HTML的工作。但这个问题是专门针对Javascript提出的。JQuery在控制台中工作,但在我的应用程序中不工作。为什么呢?我是否需要以某种方式激活它?请确保在上述代码之前有jQuery源代码(或CDN:)脚本标记。您还需要延迟执行,直到DOM加载。即:$(document).ready(function(){//over code});