使用JavaScript将文本输入转换为select元素
我正在托管的电子商务平台上进行一些前端开发。 系统发送文本输入供客户选择他们想要添加到购物车的商品数量,但我更喜欢选择。 我没有访问系统在这方面吐出的标记,所以我想使用JavaScript将文本输入更改为select元素。
我使用jQuery删除选择并使用选择正确的选项复制输入元素,但是当我尝试向我的购物车添加内容时,只添加了一个项目,无论select中的选项如何。
这是本机标记:
这是我正在运行的jQuery更新我的标记。
$("#txtQuantity").remove(); $("#buy-buttons").append(''); $("#txtQuantity").append('12345');
有谁知道为什么这不起作用? 选择是否应该以与文本输入相同的方式通过表单提交信息?
谢谢!
您尚未设置字段名称。 将name='txtQuantity'
添加到选择中。 如果没有name属性,该字段的值将不会回发到服务器。
而不是在select(没有做任何事情)上设置value='1'
,而是将selected='selected'
添加到第一个选项。 结果与默认情况下相同,即选择第一个选项。
您可能会在提交按钮后使用上面的代码结束选择。 然而,另一个答案已经涵盖了这一点。
使用replaceWith
而不是remove
和append
。 此外, 上的
type
属性是不必要的, 节点应该在
。 这是关于
replaceWith
的文档 – http://api.jquery.com/replaceWith/ 。
$("#txtQuantity") .replaceWith('');
从删除
type
和value
属性,并添加您遗漏的name="txtQuantity"
属性。
如果您已经有一个下拉列表/选择列表,并且您只想从标签/文本框中添加一个项目,那么您可以尝试这样做:
if ($(textBoxID).val() != '') { $(dropDownID) .append($("") .attr('value', ($(textBoxID).val())) .text($(textBoxID).val())).val($(textBoxID).val()) }