我有一个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")
但是我很困惑如何使它们全部起作用。谢谢。
答案 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()">