0

特定のデータ属性値を持つすべての一致する要素の入力フィールドの値を変更したいと考えています。
したがって、ユーザーが値をクリックすると、入力フィールドが表示され、入力フィールドに入力された金額が、同じ productid を持つ他のフィールドにも反映されます。

つまり、親製品の原価を変更すると、バリエーションもライブで更新されます。

コード。

HTML

<table>

<tr>
    <td>Product One</td>
    <td>
        <p class="cost" data-productid="107">12.00</p>
        <input type="text" style="display:none" class="cost_input" data-productid="107"/>
    </td>
</tr>

<tr>
    <td>Variation of Product One</td>
    <td>
        <p class="cost">12.00</p>
        <input type="text" style="display:none" class="cost_input 107" data-productid="107"/>
    </td>
</tr>

<tr>
    <td>Product Two</td>
    <td>
        <p class="cost" data-productid="108">12.00</p>
        <input type="text" style="display:none" class="cost_input" data-productid="108"/>
    </td>
</tr>

JS

    $(".cost").click(function(event) {
            var id = $(this).data('productid');
            $(".cost").hide();
            $('.cost_input').show();
            $(this).next().select();            
            $('.cost_input [data-productid="'+id+'"]').bind('keyup keypress blur', function() {  
            $('.cost_input [data-productid="'+id+'"]').val($(this).val());
            });
});    

フィドル - http://jsfiddle.net/ez4uD/15/

4

1 に答える 1

2

かなり近いです。セレクターのinputとの間のスペースを削除してください。[data

$('.cost_input[data-productid="'+id+'"]')
于 2013-09-24T01:14:03.950 に答える