Jquery如何在同一个div中设置输入值

时间:2012-07-03 20:46:04

标签: jquery

我试图将输入的值设置为单击的列表项的值。它们都存在于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必须是通用的,因此每个容器块使用相同的代码。

2 个答案:

答案 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等