2016-10-14 45 views
0

使用此运算符在单击锚点标记时获得空白值。我有多个同一类的divs为什么我使用.each()函数,我不知道我在哪里做错了。 输出应该是,在点击一个第一值应该出现在输入等 这里是我的代码使用此变量获得空白值

$(document).ready(function(){ 
 
    $('.main').each(function(){ 
 
    $('a',this).click(function(){ 
 
     $val = $('p',this).text(); 
 
     $("#aarti").val($val); 
 
     alert($val); 
 
    }); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="main"> 
 
    <p>value one</p> 
 
    <div id="sub" style="display: block;"> 
 
    <p><a href="#" data-toggle="modal" data-target="#myContactModal">CLICK ONE</a></p> 
 
    </div> 
 
</div> 
 
<div class="main"> 
 
    <p>value two</p> 
 
    <div id="sub" style="display: block;"> 
 
    <p><a href="#" data-toggle="modal" data-target="#myContactModal">CLICK TWO</a></p> 
 
    </div> 
 
</div> 
 
<div class="main"> 
 
    <p>value three</p> 
 
    <div id="sub" style="display: block;"> 
 
    <p><a href="#" data-toggle="modal" data-target="#myContactModal">CLICK THREE</a></p> 
 
    </div> 
 
</div> 
 
<div class="main"> 
 
    <p>value four</p> 
 
    <div id="sub" style="display: block;"> 
 
    <p><a href="#" data-toggle="modal" data-target="#myContactModal">CLICK FOUR</a></p> 
 
    </div> 
 
</div> 
 
<input type="text" id="aarti" />

+0

感谢您的努力,但我不想要锚标记的价值。 –

回答

1

你需要遍历高达父main元素,然后针对其子p元素

jQuery(document).ready(function() { 
 
    $('.main a ').click(function(e) { 
 
    e.preventDefault(); 
 
    var $val = $(this).closest('.main').children('p').text(); 
 
    $("#aarti").val($val); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="main"> 
 
    <p>value three</p> 
 
    <div id="sub" style="display: block;"> 
 
    <p><a href="#" data-toggle="modal" data-target="#myContactModal">CLICK THREE</a> 
 
    </p> 
 
    </div> 
 
</div> 
 
<div class="main"> 
 
    <p>value four</p> 
 
    <div id="sub" style="display: block;"> 
 
    <p><a href="#" data-toggle="modal" data-target="#myContactModal">CLICK FOUR</a> 
 
    </p> 
 
    </div> 
 
</div> 
 

 

 
<input type="text" id="aarti" />

+1

非常感谢你的工作。 :) –

0

有通过主类不需要循环。只需点击你想要的主this会得到它,能为你

做休息试试这个:

$(document).on('click','.main',function(){ 
    $("#aarti").val($(this).find('p').html()); 
}); 
0
$('.main').on('click', 'a', function(e) { 
     var $val = $(this).find('p').text();   
     alert($val); 
}); 

应该帮忙