これはおそらく簡単なことだと思いますが、理解できません。カスケード選択ボックスを作成する必要がありますが、呼び出し元の選択から3つ上のターゲット選択ボックスを参照する方法がわかりません。私はもう試した:
$(this).next().next().next().html(data)
しかし、それはうまくいきません。親の子供たちに何か関係があるのではないかと思います。
編集:これがHMTLです
<table id="invoiceTable">
<tr>
<th></th>
<th class="productColumn">Product</th>
<th class="lotColumn">Lot #</th>
<th class="wheelColumn">Wheel #</th>
<th class="packageType">Pkg Type</th>
<th class="quantityField">Weight</th>
<th class="priceColumn">Price</th>
<th class="subTotalColumn">Subtotal</th>
<th class="soldOut">Sold Out</th>
</tr>
<?php
if(!$newInvoice){ $rowNum = 0;
foreach($details as $detail){ /* @var $detail Creamery_Invoice_details */?>
<tr>
<td><button type="button" class="delete">D</button></td>
<td class="productColumn">
<select name="productInputName[]" class="productSelect" id="cheeseName">
<option></option>
</select>
</td>
<td>
<select name="lotNumber[]" class="lotNumber" >
<option value=0>Lot #</option>
</select>
</td>
<td>
<select name="wheelNumber[]" class="wheelNumber">
<option value=0>Wheel</option>
</select>
</td>
<td>
<select name="packageType[]" class="packageType">
<option value=0>Pkg Type</option>
</select>
</td>
<td class="quantityField"><input name="quantity[]" type="number"> <?php echo ' value="',$detail->getQuantity(),'"'; ?>></td>
<td class=priceField><input name="price[]" type="number" step="any">
</td>
<td class="subtotalField"><input type="number" step="any" readonly="readonly"></td>
<td class="soldOut"><input type="checkbox" name="soldOut[]" <?php if($detail->getSoldOut()){echo 'checked="checked"';} ?> ></td>
</tr>
編集2:誰かがこれに遭遇した場合に備えて、これ$(this).whatever
はajax呼び出しにあるため、次のように実行する必要があるため、追加したかっただけです。
$(".productSelect").change(function(){
var product = this;
$.get("/path to php file", 'type='+$(this).val(),function(data){
$(product).closest('tr').find('.lotNumber').html(data);
})
});