こんにちは皆さん、私は私のウェブサイトの多くの製品に対して以下の html を持っています。
商品名、価格、希望数量、購入というチェックボックスを含む行が表示されます。現在、数量の入力は無効になっています。
だから私がやりたいことは 、チェックボックスがクリックされた場合、入力数量を1に設定し、それを有効にしたいということです。
私はこれを行うのに問題があるようです。これで、複数の製品を持つことができます。つまり、html ページ内に複数の table-products div があります。
jQuery を使用して詳細を変更しようとしましたが、特定の要素にアクセスできないようです。
したがって、基本的に各テーブル製品について、入力テキスト、つまり数量テキストフィールドの値を設定するチェックボックスにクリックリスナーを配置したいと思います。
そのため、以下の場合、1 ページに 20 個ある可能性があります。
<div class="table-products">
<div class="table-top-title">
My Spelling Workbook F
</div>
<div class="table-top-price">
<div class="price-box">
<span class="regular-price" id="product-price-1"><span class="price">€6.95</span></span>
</div>
</div>
<div class="table-top-qty">
<fieldset class="add-to-cart-box">
<input type="hidden" name="products[]" value="1"> <legend>Add Items to Cart</legend> <span class="qty-box"><label for="qty1">Qty:</label> <input name="qty1" disabled="disabled" value="0" type="text" class="input-text qty" id="qty1" maxlength="12"></span>
</fieldset>
</div>
<div class="table-top-details">
<input type="checkbox" name="buyMe" value="buy" class="add-checkbox">
</div>
<div style="clear:both;"></div>
</div>
ここに私が試したJavaScriptがあります
jQuery(document).ready(function() {
console.log('hello');
var thischeck;
jQuery(".table-products").ready(function(e) {
//var catTable = jQuery(this);
var qtyInput = jQuery(this).children('.input-text');
jQuery('.add-checkbox').click(function() {
console.log(jQuery(this).html());
thischeck = jQuery(this);
if (thischeck.is(':checked'))
{
jQuery(qtyInput).first().val('1');
jQuery(qtyInput).first().prop('disabled', false);
} else {
}
});
});
// Handler for .ready() called.
});