如何将值从 DB 传递到单选按钮组?

Posted

技术标签:

【中文标题】如何将值从 DB 传递到单选按钮组?【英文标题】:How to pass the value from DB to the group of radio buttons? 【发布时间】:2016-04-25 01:23:04 【问题描述】:

我有一个与单选按钮有关的问题。所以我有用户填写并保存在数据库中的表格。用户可以选择将该表格通过电子邮件发送给他们自己。如果用户点击链接,他们应该会得到包含他们信息的表单。此时我能够检索所有文本输入值,对我来说问题是以下是 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,通常我能够获取复选框的值,但在这种情况下,我必须将值传递给单选按钮组。如果有人知道我做错了什么,请告诉我。谢谢。

【问题讨论】:

请显示查询输出。 这些单选按钮是提交的表单的一部分吗? 是的,他们是。这可以通过单选按钮的每个输入标签内的 cfif 来完成吗? 【参考方案1】:

您使这比必要的复杂得多。如果您要提交表单,则根本不需要 javascript

您要做的第一件事是预先选择与查询输出相关的单选按钮。以下是你为老师做的事情。

<input 
    type="radio" 
    name="category" 
    value="Teacher" 
    id="teacher"
    <cfif jobInfo.jobCat is "teacher">selected="selected"</cfif>
>

重复其他两个选项。

【讨论】:

我想你的意思是 checked="checked" 。见***.com/questions/5592345/…【参考方案2】:

我猜你的代码是这样的:

<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>

希望对你有帮助

【讨论】:

以上是关于如何将值从 DB 传递到单选按钮组?的主要内容,如果未能解决你的问题,请参考以下文章

Aurelia在检查更改时将值绑定到单选按钮

将 [(ngModel)] 添加到单选按钮组后,默认的 [checked] 不再起作用

如何将侦听器附加到单选按钮

如何使用 SQL-lite 数据库检索到 android studio 中的单选按钮组

如何对 3x3 的单选按钮网格进行分组?

DevExpress Winform 控件单选按钮组