0

入力の値をクリックされたリストアイテムの値に設定しようとしています。クラス=コンテナである同じ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に設定します。

したがって、私がやろうとしているのは、クリックされたリスト項目と同じdiv内にあるclass = containerのクラスpersonguidの入力を見つけて、その値を設定することだと思います。

現在、これを行う方法がわかりません。

jqueryは汎用である必要があるため、各コンテナブロックに同じコードが使用されます。

4

2 に答える 2

2
$('li').on('click', function(){
    $(this).closest('.container').find('.personguid').val($(this).data('personguid'));
});
于 2012-07-03T20:52:37.177 に答える
0

IDに番号を追加するだけで、それぞれをハードコーディングする必要がない方が簡単です。

$('li').click(function(){
    var x = $(this).data('personguid');
    $('#input'+ x).val(x);
});

したがって、入力はid = input1、id = input2、id=input3などになります。

于 2012-07-03T20:50:34.237 に答える