为什么jQuery没有使用$更新输入值(“form:input [name =”some_input“])。val();

时间:2013-05-18 01:28:47

标签: jquery

我正在尝试创建一个双重登录脚本,将用户从另一个单独的登录(双重)登录到两个独立的系统(形成&表单b)。

<h2>Dual Login</h2>
    <form id="dual">
    username<br>
    <input type="input" name="un" value="1234567"><br>
    password<br><input type="password" name="password"><br>
    <input type="submit" name="submit">
</form>

<h2>Login A</h2>
<form id="login_a" action="#" method="post">
    username<br>
    <input id="un_a" type="input" name="un_a" value="hi"><br>
    password<br>
    <input id="pw_a" type="password" name="pw_a"><br>
    <input type="submit" name="submit">
</form>

<h2>Login B</h2>
<form id="login_b" method="post" action="#">
    username 1<br>
    <input id="un_b" type="text" name="un_b" value=""><br>
    password<br>
    <input id="pw_b" type="password" name="pw_b"><br>
    <input type="submit">
</form>

这是jQuery:

$('#dual :input[name="un"]').blur(function(){
    un = $('#dual :input[name="un"]').val();
    $('#un_a').val(un);
    $('#un_b').val(un);
});

这是一个说明工作示例的小提琴:

http://jsfiddle.net/mckinselberg/bPapQ/

我的问题是:为什么当我尝试以这种方式更新值时,它不起作用:

$('#dual :input[name="un"]').blur(function(){
    un = $('#dual :input[name="un"]').val();
    $('#form_a :input[name="un_a"]').val(un);
    $('#form_b :input[name="un_b"]').val(un);
});

这是一个小提琴,说明了非工作的例子:

http://jsfiddle.net/mckinselberg/BbKTG/

3 个答案:

答案 0 :(得分:5)

$('#form_a             // supposed to be  $('#login_a
$('#form_b             // supposed to be  $('#login_b

检查您的ID

<form id="login_a" 
<form id="login_b"

这是一个简单的解释。您选择了错误的id's

<强> Check Fiddle

答案 1 :(得分:1)

当您在HTML中的表单上使用的ID分别为#form_a#form_b时,您选择了#login_a#login_b。小提琴:http://jsfiddle.net/BbKTG/3/

答案 2 :(得分:1)

您的ID不匹配...您在HTML中有login_a,在jQuery中有form_a