2012-09-04 185 views
0

似乎没有多少人知道这个问题的答案:我改写了一点,使它更容易理解我试图得到什么。请帮助我。当选择选项时添加新的下拉列表jquery

<select id="1"> 
    <option val="1"></option> 
    <option val="2"></option> 
</select> 

当值= 2选项被选中我希望有一个新的下拉框出现像:

<select id="2"> 
    <option val="1"></option> 
    <option val="2"></option> 
</select> 

,你可以用ID 2有同样的选择,但我只想要一个新的看每次用户选择不同的选项时,都会下拉框。我jQuery和HTML代码如下所示:

HTML:

<div id="campaigns"> 
    <div id="campaign_1"> 
     <label for="ddcampaign" style="margin-right: 10px;">Campaign:</label>  
     <?=showCampaignDropdown('campaign', false, false, true, false, 'All Campaigns')?> 
    </div> 
</div> 

什么showCampaignDropdown不只是创建了一堆选项的选择。

我的jQuery的是这样的:

$(function() { 
    campaigncount = 1; 
    $(document).on('change', '#campaign_' + campaigncount + ' select', function() { 
     var firstcampaign = parseInt($('#campaign_'+campaigncount+' select option:selected').val()); 
     //alert(campaigncount); 
     campaigncount++;  
     //if value is > 0 add more campaigns to search 
     if (firstcampaign > 0) { 
      $(this).attr('disabled', true); 
      $('#campaigns').append('<div id="campaign_'+campaigncount+'"><?=showCampaignDropdown('campaign', false, false, true, false, 'All Campaigns')?></div>'); 
     } else { 
      $('#campaign_' + (campaigncount-1) + ' select').attr('disabled', false); 
     } 
    }); 
}); 

它适用于第一选择,所以在选择原campaign_1选择下增加了新的下降,并禁用第一,如果将第二选择什么也没发生。请帮忙。下拉框必须相同,我不想修改它们的ID。因为它通过PHP生成。

回答

1

您仅将更改事件附加到#campaign_1 div。您应该这样做: on('change', '#campaigns select' ...现在位于广告系列div中的所有选择都会运行该处理程序。

+0

非常感谢你,我怎么看不到:(有时你只是盯着代码,不能看到简单的东西。非常感谢 – Giorgi

相关问题