我有这个标记
<select id="helpamount" name="helpamount"><?= get_texto_clave('amount')?>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="-1" class="convertoinput">more</option>
</select>
此代码尝试将其转换为输入
$('body').on('click','.convertoinput',function(){
$(this).parent().after('<input type="number" id="'+$(this).parent().attr('id')+'" name="'+$(this).parent().attr('id')+'" value="" placeholder="Especifica un valor numerico" /> ');
$(this).parent().remove();
});
知道为什么这只能在firefox中运行吗?
答案 0 :(得分:2)
跨浏览器 - &gt;
$('body').on('change','#helpamount',function(){
if($(this).val() == -1){
$(this).after('<input type="number" id="'+$(this).prop('id')+'" name="'+$(this).prop('id')+'" value="" placeholder="Especifica un valor numerico" /> ');
$(this).remove();
}
$('body').off('change', '#helpamount');
});
答案 1 :(得分:1)
工作代码:
$('body').on('change','#helpamount',function(){
var
e = $(this),
eid = e.attr('id');
if (e.val() == e.find('option.convertoinput').val()) {
e.after('<input type="number" id="'+eid+'" name="'+eid+'" value="" placeholder="Especifica un valor numerico" />').remove();
$('body').off('change', '#helpamount');
}
});
jsFiddle:http://jsfiddle.net/zSbUA/1/