我有一个表单,我试图自动填充单选按钮的值。
content=content+' <label class="radio-inline">';
content=content+' <input type="radio" name="ip_radio_resp_'+questDetail.qId+'" id="radioYes" value="Y" onclick="removeFocusOnComment('+questDetail.qId+');showReasonTextBox('+questDetail.qId+')"> Yes';
content=content+' </label>
我正在检查其他某个字段的值,如果我得到所需的响应,我标记为radio btn否则
switch(questDetail.metricsValue){
case 'Y':
$('#ip_radio_resp_'+questDetail.qId).each(function() {
$('input:radio[name="ip_radio_resp_'+questDetail.qId+'"]#radioYes').prop('checked',true);
});
break;
case 'N' :
//something......
break;
default:
//something
}
我正在使用jquery 1.11.2
但它经常给我错误未定义..我知道这可能是重复的,我尝试了所有其他答案,但不能让这个工作......有人可以帮助!!
提前致谢。
答案 0 :(得分:0)
每个广播组中都不能有center-justified
,因为ID必须是唯一的。请改用id="radioYes"
。然后你可以这样做:
class="radioYes"
你不需要使用case 'Y':
$('input:radio[name="ip_radio_resp_'+questDetail.qId+'"].radioYes').prop('checked',true);
break;
,因为你没有对带有该ID的元素做任何事情(我怀疑你甚至没有那个元素,而且你让$('#ip_radio_resp_'+questDetail.qId).each
感到困惑name
)。
答案 1 :(得分:0)
我认为你不需要所有这些,你只需要在制作单选按钮时检查
questDetail.metricsValue == 'Y'
然后你需要检查它。
你可以取消所有你创建的开关盒,并以这种方式制作它对你来说更容易。
content=content+' <label class="radio-inline">';
content=content+' <input type="radio" name="ip_radio_resp_'+questDetail.qId+'" class="radiosToBeChecked" id="radioYes'+questDetail.qId+'" checked="'+(questDetail.metricsValue == 'Y') ? 'checked': ''+'" onclick="removeFocusOnComment('+questDetail.qId+');showReasonTextBox('+questDetail.qId+')"> Yes';
content=content+' </label>';