我创建了一个带有两个html多选的小部件 - "可用"和#34;选择"。用户从"可用"中选择项目它们显示在"选择",非常简单的东西。我很感兴趣"选择"值(另一个不具有名称属性)但是要发送所有值,必须选择它们。
我试图在jQuery中选择它们"提交"事件,但由于某种原因,它不起作用。我可以看到,在发送表单之前,它们都已被选中,但数据本身并未发送。
var form = this.$selectedSelect[0].form;
$(form).on('submit', function(e) {
this.$selectedSelect.find("option").prop("selected", true);
}.bind(this));
我想避免为每个"选择"创建隐藏字段。条目。
答案 0 :(得分:1)
在选择所有项目之后,您应该阻止原始提交过程并调用一个新过程:
var form = this.$selectedSelect[0].form;
$(form).submit(function(e) {
e.preventDefault();
this.$selectedSelect.find("option").prop("selected", true);
this.submit();
});
您甚至不需要阻止默认行为,以下简单的解决方案已足够:
var form = this.$selectedSelect[0].form;
$(form).submit(function(e) {
this.$selectedSelect.find("option").prop("selected", true);
});
答案 1 :(得分:1)
你需要这样的东西
<script>
$(document).ready(function() {
$("form").on("submit",function(eve){
eve.preventDefault();
$("select#someSelectId").find("option").prop("selected", true);
$(this).submit();
})
})
</script>