单击元素时获取子隐藏输入字段的值

时间:2014-04-23 14:03:58

标签: javascript jquery html

在单击des_searchDate类的锚标记时,在以下代码中 我想得到立即跟随输入字段值的值。

我试过了

<html>
    <div class="searched_date">
        <a href="#" class="des_searchDate">
            04-15-2014
            <input type="hidden" value="2014-04-15" name="searched-date">
        </a><br>
        <a href="#" class="des_searchDate">
            04-09-2014
            <input type="hidden" value="2014-04-09" name="searched-date">
        </a><br>
        <a href="#" class="des_searchDate">
            04-23-2014
            <input type="hidden" value="2014-04-23" name="searched-date">
        </a><br>
     </div>
 </html>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

<script type="text/javascript">

    jQuery(document).on('click', ".des_searchDate", function(){

    var decDate = jQuery(this).next().find('input').val();

alert(decDate);
});

</script>

但我在警报中未定义。我的代码出了什么问题?

5 个答案:

答案 0 :(得分:4)

jQuery(document).on('click', ".des_searchDate", function(){
    var decDate = jQuery(this).find('input').val();
    alert(decDate);
});

这是一个jsFiddle

http://jsfiddle.net/yT777/

答案 1 :(得分:3)

jQuery(document).on('click', ".des_searchDate", function(){
var decDate = jQuery(this).find('input').val();
alert(decDate);
});

demo fiddle

答案 2 :(得分:1)

如果您想要点击锚点内的输入值:

jQuery(document).on('click', ".des_searchDate", function(){
var decDate = jQuery(this).find('input').val();
alert(decDate);
});

或者,如果您需要点击锚点后面的下一个输入值:

jQuery(document).on('click', ".des_searchDate", function(){
var decDate = jQuery(this).nextAll('input:first').val();
alert(decDate);
});

答案 3 :(得分:1)

$('.des_searchDate').click( function(){
    var decDate = $(this).find('input').val();
    alert(decDate);
});

答案 4 :(得分:0)

你可以用纯javascript做到这一点,不需要jQuery:

Pure JS Fiddle

var sd = document.getElementsByClassName("des_searchDate");

for (i = 0;i<sd.length;i++){
  var s = sd[i];
  s.onclick = function(){
    var input = this.getElementsByTagName("input")[0];
    alert(input.value);
  }
}