表单中如何提交 select 中的全部 option 值

从不吃馍 2017-10-13 07:18:23
我有这样的代码但是提交的时候后台只收到了第一个值,而不是全部值。
select 怎么才能提交全部呢
<select name="city" id="city" size="10" >
<option value="大学2">大学2</option>
<option value="大学4">大学4</option>
<option value="大学5">大学5</option>
<option value="大学7">大学7</option>
</select>

不能用multiple来多选,也就是说,不用选就默认直接提交全部的值。该怎么办啊。

下图是我的效果图,从左边的select中添加option到右边的select,然后提交的时候,直接把右边select中的全部值都提交。每个值直接用英文逗号隔开,这样子该怎么写。或者给个别的思路,有大佬说从左边select选择值到右边的同时,把所选的值也同步到input中,从右边select删除值的时候,也同步把input的相关值删除,提交的时候就提交input的值,这样子能行吗,求讲解。。如果可行,大神给个代码。
...全文
1097 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
bruce_gl 2018-02-02
  • 打赏
  • 举报
回复
如果点击按钮的话,可以将所有的option标签都添加一个selected 然后就能获得所有的值. $("#city option").each(function(){ $(this).attr("selected",true); }); jQuery("#表单id的名称").submit(); 这样就可以了.
从不吃馍 2017-10-14
  • 打赏
  • 举报
回复
引用 1 楼 jslang 的回复:
设置个隐藏域<input type="hidden" />,提交获取全部 option 值放到隐藏域中,后台取隐藏域的值
这个思路我知道啊,但是我不会把option 的全部值放到input,而且option 和option 之间还要用英文逗号隔开,如果删除了某个option ,那么input里面也要删掉这个,感觉好难啊,百度了一下午都没找到合适的,找到的都是把单个option 传到input,没有全部option 传过去的。 老哥有没有合适的代码给我用用啊。。
天际的海浪 2017-10-14
  • 打赏
  • 举报
回复
设置个隐藏域<input type="hidden" />,提交获取全部 option 值放到隐藏域中,后台取隐藏域的值
天际的海浪 2017-10-14
  • 打赏
  • 举报
回复
引用 2 楼 qq_33992806 的回复:
[quote=引用 1 楼 jslang 的回复:] 设置个隐藏域<input type="hidden" />,提交获取全部 option 值放到隐藏域中,后台取隐藏域的值
这个思路我知道啊,但是我不会把option 的全部值放到input,而且option 和option 之间还要用英文逗号隔开,如果删除了某个option ,那么input里面也要删掉这个,感觉好难啊,百度了一下午都没找到合适的,找到的都是把单个option 传到input,没有全部option 传过去的。 老哥有没有合适的代码给我用用啊。。[/quote]

<form method="post" action="testing.php" id="formid">
	<select name="lz_sx" size="10" id="s2" style="min-width:150px;">
		<option value="a">a</option>
		<option value="b">b</option>
		<option value="c">c</option>
		<option value="d">d</option>
	</select>
	<input type="hidden" id="hidden" name="hidden" value="" />
	<input type="submit" />
</form>
<script type="text/javascript">
document.getElementById("formid").onsubmit = function () {
	var arr = [];
	var op = document.getElementById("s2").options;
	for (var i = 0; i < op.length; i++)
		arr[i] = op[i].value;
	document.getElementById("hidden").value = arr.join(",");
	alert(document.getElementById("hidden").value);
}
</script>

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧