1

如何获取子输入值;从其父 div 上的点击事件

动态 HTML

<div class="tableRowOdd">
  <input type="hidden" value="28"> 

  04/11/2012
</div>

JS

$('#historyContainer .tableRowOdd').live( 'click', function(e) {

     // Here I want to get the hidden-input's value directly  
     // something like- $(this+'input').val()
     console.log( $(this) );

});

不想从$(this).html()进行字符串操作

请帮忙。

4

4 回答 4

3
$('#historyContainer .tableRowOdd').live( 'click', function(e) {
     console.log( $(this).find('input').val() ); // or .text()
});

请注意,这将遍历所有输入。如果你只想要第一个:

$('#historyContainer .tableRowOdd').live( 'click', function(e) {
     console.log( $(this).find('input').first().val() ); // or .text()
});
于 2012-04-18T19:50:56.740 回答
2

$(this).find('input').val()应该返回你的价值。

注意:.on如果您使用 jQuery 1.7 或使用.delegate旧版本,请使用incase。.live不是首选功能。

用于.delegate旧版本,

$('#historyContainer').delegate('.tableRowOdd', 'click', function(e) {
     $(this).find('input').val()
     console.log( $(this) );
});

使用.onjQuery 1.7,

$('#historyContainer').on('click', '.tableRowOdd', function(e) {
     $(this).find('input').val()
     console.log( $(this) );
});
于 2012-04-18T19:51:27.537 回答
2

这可以通过 jQuery:

$('#historyContainer .tableRowOdd').live( 'click', function(e) {

     // if you have more inputs and wanna get the hidden 
     console.log( $(this).find('input[type="hidden"]').val() );
});
于 2012-04-18T19:51:51.827 回答
1

你可以这样做;

$(this).find('input').val()
于 2012-04-18T19:50:54.713 回答