我有一个与单选按钮有关的问题。所以我有用户填写并保存在DB中的表单。用户可以选择通过电子邮件将该表单发送给他们。如果用户点击链接,他们应该获取包含其信息的表单。此时我能够检索所有文本输入值,对我来说问题是如何将值从DB传递给单选按钮组?以下是HTML代码的示例:
<cfquery name="jobInfo" datasource='test'>
SELECT jobCat
FROM userInfo
WHERE UserID = <cfqueryparam cfsqltype="cf_sql_integer" value="#RecID#">
</cfquery>
<cfoutput query="jobInfo">
<tr>
<th>Jobs</th>
</tr>
<tr>
<td>
<label>
<span><input type="radio" name="category" value="Teacher" id="teacher"></span>
<span>Teacher</span>
</label><br>
<label>
<span><input type="radio" name="category" value="Professor" id="professor"></span>
<span>Professor</span>
</label><br>
<label>
<span><input type="radio" name="category" value="Athletic" id="athletic"></span>
<span>Athletic Director</span>
</label>
<td/>
</tr>
</cfoutput>
然后我尝试检索单选按钮的值,如下所示:
<script>
$('input:radio[name="category"]').val('<cfoutput>#jobInfo.jobCat#</cfoutput>');
</script>
查询输出:
<cfoutput>#jobInfo.jobCat#</cfoutput> gives me: Teacher
如果我使用字段ID,通常我能够获取复选框的值,但在这种情况下,我必须将值传递给单选按钮组。如果有人知道我做错了什么,请告诉我。谢谢。
答案 0 :(得分:3)
你使这变得比必要的复杂得多。如果您要提交表单,则根本不需要javascript。
您要做的第一件事是预先选择与查询输出共存的单选按钮。以下是教师如何做到这一点。
<input
type="radio"
name="category"
value="Teacher"
id="teacher"
<cfif jobInfo.jobCat is "teacher">selected="selected"</cfif>
>
重复其他两个选择。
答案 1 :(得分:1)
我猜你的代码做了这样的事情:
<span><input type="radio" name="category" value="Teacher" id="teacher" #((jobInfo.jobCat EQ "Teacher")?'selected="selected"':"")# ></span>
<span>Teacher</span>
为其他跨度做亲戚。
如果值实际上来自列表会更好,所以你不要像这样重复你的逻辑
<tr>
<td>
<cfloop list="Teacher,Professor,Athletic" index="currCat">
<label>
<span><input type="radio" name="category" value="#currCat#" id="#currCat#" #((jobInfo.jobCat EQ currCat)?'selected="selected"':"")></span>
<span>#currCat#</span>
</label><br>
</cfloop>
<td/>
</tr>
希望有所帮助