两个单选按钮共享一个"id"?

Lea*_*cim 16 html javascript

我正在借用/改编这个简单的html/javascript表单,将一些数据放入数据库中.原始代码使用表单中的文本字段,但我正在使用单选按钮.下面的前三个步骤是原始的,我的问题是在...后面,我给单选按钮提供相同的ID ...希望这很清楚......

步骤1.用户将值输入到id为"nick"的表单中

<tr>  
    <td><label>User</label></td>  
    <td><input class="text user" id="nick" type="text" MAXLENGTH="25" /></td>  
</tr>  
Run Code Online (Sandbox Code Playgroud)

步骤2.与使用id分配给变量的id"nick"相关联的值

var inputUser = $("#nick");  
Run Code Online (Sandbox Code Playgroud)

第3步.从变量中获取值以插入数据库...

if(inputUser.attr("value")
Run Code Online (Sandbox Code Playgroud)

但如果它是两个"单选按钮"而不是一个"文本"字段....

<td><label>Interview</label></td>  
<td><input type="radio" name="interview" id="nick" value="pass" />Pass</td>
<td><input type="radio" name="interview" id="nick" value="fail" /> Fail</td>
Run Code Online (Sandbox Code Playgroud)

我是否给单选按钮指定相同的"id",这样当我将值赋给变量时它仍然是这样的...

var inputUser = $("#nick"); 
Run Code Online (Sandbox Code Playgroud)

那么在id"nick"中找到的任何按钮都会被分配?

Mat*_*hew 20

不,Id属性应始终是唯一的.如果你正在使用jQuery(看起来像你),你可以选择它$('input[name=interview]');.


nnn*_*nnn 14

由于您使用的是jQuery,因此您可以使用:checked选择器轻松获取所选单选按钮的值:

$("input[name=interview]:checked").val()
Run Code Online (Sandbox Code Playgroud)

你绝对不应该给多个元素提供相同的ID(这是无效的HTML并且会导致你的JavaScript中出现令人困惑的错误),但即使这样做有效也无济于事,因为作为一个组的单选按钮没有选定的值:您需要确定当前检查的是哪一个,然后获取其值,如上所示.(当实际提交表单时,在获取Web服务器上的值时这不是问题,因为只有已检查的无线电的值才会被提交.)

另请注意,在您所说的原始代码中inputUser.attr("value"),您可以说inputUser.val().