我遇到了动态设置单选按钮的问题......有些时候。我正在从数据库中读取信息以自动填充表单。我可以让一些单选按钮表现正常,但也有一些只是没有合作。首先,这是正在运行的代码:
<label for="siteChoice">I want the: </label>
<input type="radio" name="siteChoice" id="starter" value="Starter" checked="checked" class="oneTimeCharge"> <label for="starter" class="inheritDisplay">Starter Site</label>
<input type="radio" name="siteChoice" id="enhanced" value="Enhanced"> <label for="enhanced" class="inheritDisplay">Enhanced Site</label>
<input type="radio" name="siteChoice" id="ultimate" value="Ultimate"> <label for="ultimate" class="inheritDisplay">Ultimate Site</label>
和jQuery控制它(inputNames是一个数组,它将数据库列名转换为输入名,密钥来自数据库调用):
var theInputName = inputNames[key];
if(theInputName == "siteChoice"){
if(value == 1 || value == 0){
$("input[name='" + theInputName + "']:eq(0)").click();
}else if(value == 2){
$("input[name='" + theInputName + "']:eq(1)").click();
}else if(value == 3){
$("input[name='" + theInputName + "']:eq(2)").click();
}
}
现在,其中一个按钮无效:
<label for="directoryChoice">I want the Online Store Directory ($75 one-time fee): </label>
<input type="radio" name="directoryChoice" value="yes" class="ultimateChecked oneTimeCharge"> Yes
<input type="radio" name="directoryChoice" value="no" class="ultimateCheckedNo" checked="checked"> No
它是jQuery:
if(key == "website_directory"){
if(value == 1){
//console.log("equals 1");
$("input[name='directoryChoice']:eq(0)").click();
}
}
有什么想法吗?
----的 UPDATE /修改
我为此创建了一个jsFiddle。它得到了正在发生的事情的基本要点。如果还有更多问题,请告诉我。