我正在编写一个Web应用程序,用户单击一个div,其中包含一个带有预定义文本的输入文本框。当用户点击div时,代码将在单独的文本框中打印。我正在尝试编写一个函数来获取点击div的文本输入的值。我通过使用$(this).val();
单击输入框本身来工作,但我想点击div然后它基本上得到(this)('input[type=text].provided_code').val();
的值
有没有办法说这个div里面的文字输入?页面上有20个div,每个div有20个输入,每个都有相同的类名等。
答案 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()
性能:
答案 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();
})