【发布时间】:2012-09-26 19:17:58
【问题描述】:
我有这个标记
<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 中有效吗?
【问题讨论】:
-
绑定到select元素的change事件然后检查选中的值可能更可靠。
-
你使用
$(this).parent的次数太多了,迫使jQuery从选择元素创建一个对象,然后找到它的父元素......这非常浪费而且很慢......只是做@ 987654324@并重复使用它
标签: javascript jquery select input cross-browser