使用jQuery获取在失去焦点时在文本框中输入的文本

时间:2012-01-19 00:34:44

标签: javascript jquery onblur

如何获取下面文本框中输入的值?

<tr>
    <td class="TextBold" >1.</td>
    <td class="TextBold" >Content for Question 1:</td>
    <td class="TextBold" >
      <input name="ctl00$DefaultContent$ctl2" type="text" class="TextNormal" />
    </td>
  </tr>

这为我提供了文本框的名称

var idT = $("td:contains('1.')").next().next().children().eq(0).attr('name');

现在我想编写一个函数,它将在文本框中输入值。

类似的东西:

 $('input[name^=ctl00$DefaultContent$ctl2]').blur(function () {
        alert($(this).val());    
    });

这对我有用:

 $('input[name="' + idT + '"]').blur(function () {
            alert($(this).val());    
        });

2 个答案:

答案 0 :(得分:3)

$('input[name=' + id+ ']').blur(function () {
    alert($(this).val());
});

请注意,你的var名称是id,但它的值是name ...为什么?

我会改为:

var id = $("td:contains('1.')").next().next().children().eq(0).attr('id');

$('#' + id).blur(function () {
    alert($(this).val());
});

JSFiddle示例

您必须"escape" $ \\$与jquery选择器一起使用。

答案 1 :(得分:2)

$('input[name="ctl00$DefaultContent$ctl2"]').val()应该给你文本字段的值但是“ctl00 $ DefaultContent $ ctl2”真的是这个名字吗?

请参阅 jsFiddle