【发布时间】:2012-10-15 02:56:46
【问题描述】:
我编写了一个代码,它检索表单中元素的所有值,它使用单选按钮、文本框、下拉列表、文本区域。但是现在我想添加复选框,问题在于复选框我们可以有多个值特定名称,因此需要按表单中出现的顺序获取复选框值
这是获取值的代码:
var elements="";
var $this = jQuery(this);
$this.parents(".detailTable").find(":input").each(function(index, elm){
if((jQuery(this).attr("type")=="button") ||(jQuery(this).attr("type")=="hidden"))
{
}else if((jQuery(this).attr("type")=="radio")){
if(jQuery(this).attr("checked")){
elements=elements + (jQuery(this).val());
elements=elements + "|";
// alert(jQuery(this).val())
}
}else if((jQuery(this).attr("type")=="checkbox")){
if(jQuery(this).attr("checked")){
elements=elements + (jQuery(this).val());
elements=elements + "|";
}
}
else{
elements=elements + (jQuery(this).val());
elements=elements + "|";
// alert(jQuery(this).val());
}
});
我想要一个复选框组的所有值以逗号分隔(表单可以有多个复选框),而元素之间的值是'|'分开。
你能帮我解决这个问题吗
【问题讨论】:
-
你见过 jQuery 的 .serialize() (api.jquery.com/serialize) 方法吗?我将从那里开始,然后从返回的数据对象创建您的编码字符串。
-
@MattStone 我不想隐藏并提交元素,所以我不能使用序列化元素
标签: javascript jquery html forms