簡體   English   中英

jQuery使用append方法問題從select選項中切換div

[英]jQuery toggle div from select option with append method issue

我有div <\\ select>下拉。 如果我選擇限制它從下拉菜單打開一個div與輸入,它工作正常。

我還添加了一個鏈接+ Add New並點擊+ add new創建一個帶有<\\ select>下拉列表的 div,它應該像以前一樣工作但是當我從新下拉菜單中選擇限制時它會影響前一個。 我怎樣才能使它只為我正在工作的div開放而且對其他div沒有影響我沒有創建多少米。

JS FIDDLE

HTML

<div class="wrapper">
 <div class="row">   
    <select class="optionSelector">
        <option>-Select-</option>
        <option value="limited">Limited</option>
        <option>Unlimited</option>
     </select>

    <div class="limited" > 
        <input type="number">
     </div>
  </div>      
</div>

jQuery的

$('.add').click(function() {
 $(".wrapper").append('<div class="row"><select class="optionSelector"><option>-Select-</option><option value="limited">Limited</option><option>Unlimited</option></select><div class="limited" ><input type="number"></div></div>');
});

$(".wrapper").on('change', '.optionSelector', function(){
       $('.limited').hide();
       $('.' + $(this).val()).show();     
});

嘗試:

$(".wrapper").on('change', '.optionSelector', function(){
    $(this).closest('.row').find('.limited').css('display', $(this).val()=='limited'?'block':'none');
});

jsFiddle例子

你可以使用.siblings()來獲取它旁邊的下拉列表

演示

$(".wrapper").on('change', '.optionSelector', function () {
    $(this).siblings('.limited').hide();
    $(this).siblings('.' + $(this).val()).show();
});

$('.limited')選擇器獲取class .limited所有元素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM