表单数据:使用选择选项中的值填充输入标签

时间:2019-11-29 00:48:54

标签: javascript html forms

我有一个html表单,我需要使输入值等于选择为选择选项的值(由于处理表单的方式,该值必须与输入标签相关联-它将不起作用从选择标签中)。这是我表单中的选择选项:

<select type="hidden" name="item_colour" id="select">
   <option value="yellow item" selected>yellow</option>
   <option value="blue item">blue</option>
</select>

是否可以根据以下几行创建隐藏的输入:

<input type="hidden" name="item_name" value=item_colour>

以上内容显然不起作用,我想我需要以某种方式使用以下javascript:

document.getElementById("item_colour")

但是我很困惑如何使它们全部起作用。谢谢。

2 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

$( "#select option:selected" ).val();

通过JS创建并提交表单的完整示例

function submit() {

                var form = document.createElement("form");
                form.method = "GET";

                 var obj = document.createElement("input");
                 obj.name = "item_colour";
                 obj.value =  $( "#select option:selected" ).val();

                 form.appendChild(obj);

                document.body.appendChild(form);

                form.submit();

            }

如果这不起作用,则可能是您正在使用的库正在更改选择的dom。最好通过浏览器检查选择的元素并查看其工作方式。我建议也使用浏览器开发人员选项中的控制台,它将允许您在页面上编写JavaScript代码,这将有助于您进行测试。

获取所选属性的另一种方法是通过

 $('.my-custom-select').on('change', function (e, params) {
                alert(e.target.value); // OR
                alert(this.value); // OR
                alert(params.selected);
       });

答案 1 :(得分:0)

尝试一下

<input type="hidden" name="item_name" value="$( '#select option:selected' ).val()">