我试图将输入的值设置为单击的列表项的值。它们都存在于class = container
的同一div中的jQuery
$('li').click(function(){
/* Somehow set the value of the input that is within the same div
with class equal container to the data-personguid on this li. */
});
HTML
<div class="container">
<div>
<ul>
<li data-personguid="3" />
</li>
</ul>
</div>
<input type="hidden" class="personguid" id="thirdinput" />
</div>
<div class="container">
<div>
<ul>
<li data-personguid="4" />
</li>
</ul>
</div>
<input type="hidden" class="personguid" id="fourthinput />
</div>
因此,如果点击了data-personguid = 3的li,我希望输入id = thirdinput,将其值设置为3。
同样,如果点击了data-personguid = 4的li,我希望输入id = fourthinput,将其值设置为4.
所以我认为我要做的是找到类personguid的输入,它与class = container在同一个div中,如点击 列出项目并设置其值。
目前不确定如何做到这一点。
jquery必须是通用的,因此每个容器块使用相同的代码。
答案 0 :(得分:2)
$('li').on('click', function(){
$(this).closest('.container').find('.personguid').val($(this).data('personguid'));
});
答案 1 :(得分:0)
如果您只是在您的ID中添加数字会更容易,因此您无需对每个数字进行硬编码
$('li').click(function(){
var x = $(this).data('personguid');
$('#input'+ x).val(x);
});
所以你的输入是id = input1,id = input2,id = input3等