我试图用一个循环来简化这个。每个块中唯一发生变化的是_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
});
如果你想循环试试这个
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
});
}
这对我有用:
$( "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
};
});