html代码
<tr>
<td>
<input type='text' name='bbc[]'> <!-- array name input -->
<ul class='popup'>
<li> one </li>
<li> two </li>
<li> three</li> <!-- I want click copy value "three" and paste input -->
</ul>
</td>
</tr>
<tr>
<td>
<input type='text' name='bbc[]'>
<ul class='popup'>
<li> one </li>
<li> two </li>
<li> three</li>
</ul>
</td>
</tr>
我想:在li copy text()或html()值中单击ul并粘贴此外部输入值。
$('body .popup').hide();
$('body').on('keyup','.name',function(){
$(this).next().slideDown();
$('body .popup li').click(function(){
$(this).prev().css({background:'red'})
});
});
})
$(window).click(function(){
$('.popup').slideUp(200);
});
$('body').on('click','.popup',function(e){
e.stopPropagation();
});
我可以获得价值但是输入&#39;不要打印
答案 0 :(得分:2)
输入是ul的prev元素,而不是li。所以你需要先遍历当前的ul。
要获取当前的父级ul,您可以使用$(this).closest("ul")
然后你的最终代码将是,
$(function() {
$('body .popup').hide();
$('body').on('keyup', '.name', function() {
$(this).next().slideDown();
$('body .popup li').click(function() {
$(this).closest("ul").prev().val($(this).text())
});
});
})
$(window).click(function() {
$('.popup').slideUp(200);
});
$('body').on('click', '.popup', function(e) {
e.stopPropagation();
})