特定のデータ属性値を持つすべての一致する要素の入力フィールドの値を変更したいと考えています。
したがって、ユーザーが値をクリックすると、入力フィールドが表示され、入力フィールドに入力された金額が、同じ 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());
});
});