我想要一个带有选项A,B,C和Custom的下拉列表。当选择了custom时,该下拉列表将被文本字段替换,以便用户可以根据需要提供自定义名称。
所以,首先我们有这样的事情
<select id="foo" name="foo">
<option value="a">A</option>
<option value="b">B</option>
<option value="c">C</option>
<option value="custom">Custom</option>
</select>
在选择了custom后,整个下拉列表将转换为:
<input name="foo" type="text" />
最佳答案
这是使用demo
函数的.replaceWith()
:
$('#foo').change(function() {
if ($(this).val() === 'custom') {
$(this).replaceWith('<input name="foo" type="text" />');
}
});