2013-02-09 78 views
0

我有这个选择;选择国家,并添加到一个新的选择倍数与5个国家的限制,但我只想添加1个国家选择或多个国家,如果我做一个多选。 我错就错在我的功能ADDC(),当我想在我的选择增加超过1个国家,它添加了一些国家在1个选项标签是这样的:添加数据到一个选择

<option>South KoreaUSAJapan</option> 

我可以修改显示下面的方式,如果我做了多个选择?:

<option>South Korea</option> 
<option>USA</option> 
<option>Japan</option> 

我的代码:http://jsbin.com/osesem/4/edit

function addC() { 
    if ($("#agregarProvincia option").length < 5) { 
     var newC = ($("#countries option:selected").text()); 
     $("#addCountry").append("<option>" + newC + "</option>"); 
    } 
} 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> 
<label for="provincia2"><b>¿Country?</b></label><br> 
<span> 
    <select multiple="multiple" size="5" id="countries"> 
     <option value="1">South Korea</option> 
     <option value="2">USA</option> 
     <option value="2">Japan</option> 
     <option value="3">Italy</option> 
     <option value="4">Spain</option> 
     <option value="5">Mexico</option> 
     <option value="6">England</option> 
     <option value="7">Phillipins</option> 
     <option value="8">Portugal</option> 
     <option value="9">France</option> 
     <option value="10">Germany</option> 
     <option value="11">Hong Kong</option> 
     <option value="12">New Zeland</option> 
     <option value="13">Ireland</option> 
     <option value="14">Panama</option> 
     <option value="15">Norwey</option> 
     <option value="16">Sweeden</option> 
     <option value="17">India</option> 
     <option value="18">Morroco</option> 
     <option value="19">Russia</option> 
     <option value="20">China</option> 
    </select> 
</span> 
<div class="addremover"> 
    <input class="add" type="button" onclick="addC()" value="Addd »" /> 
    <br/> 
</div> 
<span> 
    <select id="addCountry" multiple="multiple" size="5"> 
    </select> 
</span> 

回答

1

使用通过文字each功能循环并追加它.. 试试这个

function addC() { 
    if ($("#agregarProvincia option").length < 5) { 
     var newC = ($("#countries option:selected")); 
     newC.each(function(){ 
     $("#addCountry").append("<option>" + $(this).text() + "</option>"); 
     }) 
    } 
} 

JSbin这里

+0

伟大的工作!谢谢 – Kakitori 2013-02-09 19:52:55

+0

欢迎....快乐编码.. :) – bipen 2013-02-09 19:53:38

1

或者只是克隆选择<option>

function addC() { 
    if ($('#countries option:selected').size() < 5) 
    { 
    $('#addCountry').append($('#countries option:selected').clone()); 
    } 
    else 
    { 
    alert('you can only select 5'); 
    } 
} 
+0

这是一个好主意 – Kakitori 2013-02-09 20:15:05