使用jQuery从表中获取输入值

时间:2011-10-15 14:57:50

标签: jquery input

现在,我的HTML代码如下:

<div id="register">
<table class="tab2">
        <tr>
            <td>Email:</td>
            <td><input type="text" id="email" /></td>
        </tr>
        <tr>
            <td>Confirm Email:</td>
            <td><input type="text" id="confirmemail" /></td>
        </tr>
</table>
</div>

要通过jQuery从输入中获取值,我必须这样做:

$("#email").live('focusout', function() {
    email = $(this).val();
});
$("#confirmemail").live('focusout', function() {
    confirmemail = $(this).val();
});

我知道有更好的解决方案可以执行此操作(因为我的解决方案正常工作,但由于存在两个以上的输入,因此很麻烦),但它们对我不起作用。我想使用像

这样的东西
$("#email").val();

并根据需要检索值,而不是将其存储到变量中。问题是每当我运行该代码时,它总是返回一个空字符串。这是什么原因?

编辑:

我忘了提到在运行click事件后正在使用这些值,如下所示:

$("#dialog_next").live('click', function() {

当我运行$(“#email”)。val()代码之后,它返回一个空字符串。

1 个答案:

答案 0 :(得分:0)

更新:这个小提琴正常工作:http://jsfiddle.net/yt8pK/

我希望这个问题与代码实际运行时有关。由于我无法看到问题代码,我只能猜测。例如,如果您喜欢这样:

 $(function () {
     var email = $("#email").val();

     function string getEmail() {
        return email;
     }

     ... (later you call getEmail to look at the value)

 });

由于在用户输入之前设置了可变电子邮件,因此会失败。

这样的代码可行:

 $(function () {

     function string getEmail() {
        var email = $("#email").val();
        return email;
     }

     ... (later you call getEmail to look at the value)

 });

您失败的代码是什么样的?