我试图用循环来简单地这样做。每个块中唯一改变的是_1,_2,_3(等等)。基本上,我想听一堆(独特的)2选项无线电设备进行更改并做相应的事情。
$( "input[name='radioset_1'" ).change(function() {
if ($( "#option_A_1").prop( "checked" )) {
// do option A thing for radioset_1
} else {
// do option B thing for rasioset_1
});
$( "input[name='radioset_2'" ).change(function() {
if ($( "#option_A_2").prop( "checked" )) {
// do option A thing for radioset_2
} else {
// do option B thing for rasioset_2
});
$( "input[name='radioset_3'" ).change(function() {
if ($( "#option_A_3").prop( "checked" )) {
// do option A thing for radioset_3
} else {
// do option B thing for rasioset_3
});
$( "input[name='radioset_4'" ).change(function() {
if ($( "#option_A_4").prop( "checked" )) {
// do option A thing for radioset_4
} else {
// do option B thing for rasioset_4
});
答案 0 :(得分:1)
如果要循环
,请尝试此操作var blocks_count = 4; // or how many blocks do you have
for(var i = 1; i <= blocks_count; ++i){
$( "input[name='radioset_" + i + "'" ).change(function() {
if ($( "#option_A_" + i).prop( "checked" )) {
// do option A thing for radioset_i
} else {
// do option B thing for rasioset_i
});
}
答案 1 :(得分:-1)
这对我有用:
$( "input[type=radio]").change(function(e) {
var str = ($(this).attr("name"));
var arr = str.split("_");
if ($( "#option_A_" + arr[1] ).prop( "checked" )) {
// do option A thing for this radio
} else {
// do option A thing for this radio
};
});