在单击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>
但我在警报中未定义。我的代码出了什么问题?
答案 0 :(得分:4)
jQuery(document).on('click', ".des_searchDate", function(){
var decDate = jQuery(this).find('input').val();
alert(decDate);
});
这是一个jsFiddle
答案 1 :(得分:3)
jQuery(document).on('click', ".des_searchDate", function(){
var decDate = jQuery(this).find('input').val();
alert(decDate);
});
答案 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:
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);
}
}