获得一个组合框的值并创建另一个组合框

时间:2012-07-22 15:25:49

标签: jquery combobox append

我正在尝试动态创建一个组合框...但我失败了...... 当我选择第一个组合框的一个选项时,没有任何反应:(

这是代码:

$("#listing_status").change(function () {
        $valor = $(this).val();
        if( $valor == 'offer' ){
            alert('Fuerteventura');
            $("form tr:nth-child(4)").append('<tr><td align="right">Localidad </td><td><select id="listing_municipiosFuerteventura" name="listing_municipiosFuerteventura" class="inputbox" size="1" style="width: 115px">
    <option value="Todos">Todos</option>
    <option value="Ajuy">Ajuy</option>
    <option value="Antigua (Fuerteventura)">Antigua (Fuerteventura)</option>
    <option value="Betancuria">Betancuria</option>
    <option value="Corralejo (La Oliva)">Corralejo (La Oliva)</option>
    <option value="Gran Tarajal">Gran Tarajal</option>
    <option value="Guisguey">Guisguey</option>
    <option value="La Oliva">La Oliva</option>
    <option value="Pajara">Pajara</option>
    <option value="Puerto del Rosario">Puerto del Rosario</option>
    <option value="Tuineje">Tuineje</option>
</select>
</td></tr>');
        }else if( $valor == 'contract' ){
            alert('Lanzarote');
        }
    }); 

我使用jQuery来处理这个问题。最好的问候,丹尼尔

1 个答案:

答案 0 :(得分:0)

当使用append()时,要附加的标记之间不应有空格,如果动态生成#listing_status,您应该委派该事件,请尝试以下操作:

$("form").on('change', '#listing_status', function () {
        $valor = $(this).val();
        if ($valor == 'offer'){
            alert('Fuerteventura');
            $("form tr:nth-child(4)").append('<tr><td align="right">Localidad </td><td><select id="listing_municipiosFuerteventura" name="listing_municipiosFuerteventura" class="inputbox" size="1" style="width: 115px"><option value="Todos">Todos</option><option value="Ajuy">Ajuy</option><option value="Antigua (Fuerteventura)">Antigua (Fuerteventura)</option><option value="Betancuria">Betancuria</option><option value="Corralejo (La Oliva)">Corralejo (La Oliva)</option><option value="Gran Tarajal">Gran Tarajal</option><option value="Guisguey">Guisguey</option><option value="La Oliva">La Oliva</option><option value="Pajara">Pajara</option><option value="Puerto del Rosario">Puerto del Rosario</option><option value="Tuineje">Tuineje</option></select></td></tr>');
        } else if($valor == 'contract'){
            alert('Lanzarote');
        }
});