0

これはおそらく簡単なことだと思いますが、理解できません。カスケード選択ボックスを作成する必要がありますが、呼び出し元の選択から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);
    })
});
4

1 に答える 1

1

productSelectから選択した3 番目のクラスを使用できますpackageType

下記参照、

$(this).closest('tr').find('.packageType').html(data)
于 2013-02-11T22:09:09.010 に答える