1

1 つのコンボボックスを動的に作成しようとしています...しかし、何かに失敗しています...最初のコンボボックスの 1 つのオプションを選択しても、何も起こりません :(

これはコードです:

$("#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を使用しています。よろしく、 ダニエル

4

1 に答える 1

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');
        }
}); 
于 2012-07-22T15:31:10.317 に答える