我正在尝试动态创建一个组合框...但我失败了...... 当我选择第一个组合框的一个选项时,没有任何反应:(
这是代码:
$("#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来处理这个问题。最好的问候,丹尼尔
答案 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');
}
});