现在,我遇到的问题是用户可以选择多个单选按钮。他们应该只能选择1。 我有一个Javascript函数,它将遍历所有行并禁用未在此处看到的按钮。
<?php
foreach (glob("blah/*.jpg") as $filename) {
echo "<div class='cp-thumb cp-masonry cp-thumbs616 masonry-brick'><img src='blah/". $filename . "'class='img_235x235' /></div>";
}
?>
这很有效。但我需要向此函数发送正确的function disableNonSelectedRadioButtons(selectedRadioButton) {
$('#payer-contract-global-table .clone-target').each(function (i) {
var radioName = 'radio' + '-c' + i;
if (selectedRadioButton != radioName)
$('#' + radioName).prop("checked", false);
});
}
。我怎样才能在Javascript中正确执行此操作?
目前HAML看起来像这样:
selectedRadioButton
Javascript中是否存在某些类型的代码,我可以这么说
如果我单击 %input.radio-button{:name => "radio-c#{index}", :type => "radio", :id => "radio-c#{index}", :checked => "true"}
的按钮,它会将其发送到我的功能吗?
答案 0 :(得分:3)
如果你想使用jQuery:
$('input[type="radio"]').click(function(e){
var selectedRadioName = $(this).attr('name');
disableNonSelectedRadioButtons(selectedRadioName);
});
如果您要动态创建元素,请使用事件委派:https://learn.jquery.com/events/event-delegation/
$(document).on('click', 'input[type="radio"]', function(e){
var selectedRadioName = $(this).attr('name');
disableNonSelectedRadioButtons(selectedRadioName);
});
也就是说,您可以使用HTML:
<input type="radio" name="giveThemAllTheSameName" />
通过给单选按钮指定相同名称,您只能选择一个。
答案 1 :(得分:2)
如果您遇到事件未被触发,则会发生这种情况,因为DOM元素是动态生成的(我认为......)我这样解决:
$(document).on('click', 'input[type="radio"]', function(e){
var selectedRadioName = $(this).attr('name');
disableNonSelectedRadioButtons(selectedRadioName);
});
以防万一。
答案 2 :(得分:0)
您可以使用prop()
arr.getJSONObject(index)