【问题标题】:radio button select on label click单选按钮选择标签点击
【发布时间】:2010-12-04 18:48:52
【问题描述】:

当我单击单选按钮前面的两个标签中的任何一个时,如何使单选按钮被选中?

我有以下单选按钮代码:

<div class="label_main" style="width:350px">
    <div class="label_radio">
      <input type="radio" name="group1" id="group1" value="0" 
       <?php if($r0==0) { ?>
       checked="checked"
       <?php  } ?>
      />
    </div>
    <div class="label_top">
      <label for="group1">First Option </label>
    </div>
    <div class="label_desc">
      <label for="group1">This is first option </label>
    </div>
  </div>
      </div> 

  <div class="label_main" style="width:350px">
    <div class="label_radio">
      <input type="radio" name="group1" id="group1" value="1"
       <?php if($r0==1) { ?>
       checked="checked"
       <?php  } ?>
      />
    </div>
    <div class="label_top">
      <label for="group1">Second Option </label>
    </div>
    <div class="label_desc">
      <label for="group1">This is Second Option </label>
    </div>
  </div>          

唯一的问题是,如果我更改无线电 ID,它可以正常工作,但我需要相同的 ID,因为我需要它的值最后保存在数据库中。

【问题讨论】:

  • 单选按钮应该有相同的name,但不能有相同的id。 HTML 要求 ids 是唯一的。

标签: jquery radio-button


【解决方案1】:

输入的 ID 和名称不必相同。保留名称并将第二个收音机的 ID 更改为其他名称(并将第二个标签的“for”属性更改为该 ID)。 当您将表单提交到服务器时,您将通过“名称”属性获取值。服务器对 ID 一无所知。

【讨论】:

  • jQuery(或一般的 JavaScript)与此无关。 id 不是标签,它是一个属性。不,一旦您提交到服务器,您就可以通过名称而不是 id 访问字段值。因为,就像我说的,服务器对 ID 一无所知。
【解决方案2】:

您将name 属性与id 属性混淆了。

它们应该具有相同的名称,但具有不同的 ID。

例如:

<input type="radio" name="group1" id="group1_0" value="0">
<input type="radio" name="group1" id="group1_1" value="1">

<label for="group1_0">CLicky 0</label>
<label for="group1_1">CLicky 1</label>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-12
    相关资源
    最近更新 更多