如何获得'this'输入框的价值?

时间:2013-07-31 13:17:24

标签: javascript jquery

我正在编写一个Web应用程序,用户单击一个div,其中包含一个带有预定义文本的输入文本框。当用户点击div时,代码将在单独的文本框中打印。我正在尝试编写一个函数来获取点击div的文本输入的值。我通过使用$(this).val();单击输入框本身来工作,但我想点击div然后它基本上得到(this)('input[type=text].provided_code').val();的值

有没有办法说这个div里面的文字输入?页面上有20个div,每个div有20个输入,每个都有相同的类名等。

4 个答案:

答案 0 :(得分:1)

是的,你可以这样做:

$(this).find("input[type='text']").val();

假设div中有一个类型为text的输入。

答案 1 :(得分:1)

是的,您可以指定选择器上下文:

  

默认情况下,选择器在DOM中从文档根开始执行搜索。但是,通过使用$()函数

的可选第二个参数,可以为搜索提供备用上下文

文档: http://api.jquery.com/jQuery/#jQuery1

所以你的代码看起来像这样:

$('input[type=text].provided_code', this).val()

性能:

http://jsperf.com/jquery-find-vs-context-sel/38

答案 2 :(得分:1)

而不是(this)('input[type=text].provided_code').val();

你应该使用一个正确的jQuery和find函数。

$(this).find('input[type="text"].provided_code'].val();

答案 3 :(得分:0)

您可以使用find - 虽然您无法在点击div时定位特定输入,除非该输入具有唯一的类或ID。

$('div').on('click',function(){
  var value = $(this).find('input[type=text].provided_code').val();
})