2017-01-01 37 views
-1

我正在使用從屬下拉選擇哪些工作正常, 但我希望它們在表中,以便可以根據需要添加更多行。只在這一行中選擇類 - jquery

我遇到的問題是我正在使用類來選擇下拉列表,因此選項會添加到所有下拉列表中,而不僅僅是當前行。

$(".quote_product").append(option);

是主要罪犯,我一直在嘗試使用:

$(this).closest('tr').find(".quote_product").append(option);

但這會導致空輸出。

我的另一個想法是使用錶行示例#quote_product_1等應用ID,但是當我嘗試時我不斷獲取索引(-1)。

HTML如下: `

<tr> 
    <td>1</td> 
    <td> 
    <select class="form-control quote_category"> 
     <option value="">--Select--</option> 
    </select> 
    </td> 
    <td> 
    <select class="form-control quote_product"> 
     <option value="">--Select--</option> 
    </select> 
    </td> 
    <td> 
    <input type="input" name="quote_width" class="form-control quote_width" id="" placeholder="0.00" disabled="" /> 
    </td> 
    <td> 
    <input type="input" name="quote_qty" class="form-control quote_qty" id="" placeholder="1.00" /> 
    </td> 
</tr> 


<tr> 
    <td>2</td> 
    <td> 
    <select class="form-control quote_category"> 
     <option value="">--Select--</option> 
    </select> 
    </td> 
    <td> 
    <select class="form-control quote_product"> 
     <option value="">--Select--</option> 
    </select> 
    </td> 
    <td> 
    <input type="input" name="quote_width" class="form-control quote_width" id="" placeholder="0.00" disabled="" /> 
    </td> 
    <td> 
    <input type="input" name="quote_qty" class="form-control quote_qty" id="" placeholder="1.00" /> 
    </td> 
</tr> 


<tr> 
    <td>3</td> 
    <td> 
    <select class="form-control quote_category"> 
     <option value="">--Select--</option> 
    </select> 
    </td> 
    <td> 
    <select class="form-control quote_product"> 
     <option value="">--Select--</option> 
    </select> 
    </td> 
    <td> 
    <input type="input" name="quote_width" class="form-control quote_width" id="" placeholder="0.00" disabled="" /> 
    </td> 
    <td> 
    <input type="input" name="quote_qty" class="form-control quote_qty" id="" placeholder="1.00" /> 
    </td> 
</tr> 
+1

您不清楚您如何追加選項......點擊,更改或(什麼是事件,或者您想在頁面加載時執行此操作)?你能發佈完整的代碼嗎? – sinisake

回答

0

我相信你必須使用交叉點的選擇,如果你想針對特定的下拉列表。
例如:

$(this).closest('tr').find('.form-control.quote_product').append(option); 
0

您沒有提供或向我們講述那將觸發添加新的選項的機制,所以一個完整的答案是不可能的。

但它看起來像它將在與你想要添加它的選擇相同的tr?如果是這樣,你的$(this).closest('tr').find(".quote_product").append(將工作得很好。

這是一個演示,當您單擊任何最右邊的文本框時,它會向當前行添加一個選項。你只需要將事件重新連接到按鈕或任何你放在那一行。

$(".quote_qty").on("click", function(){ 
    $(this).closest('tr').find(".quote_product").append('<option value="3">added option</option>'); 
});