尝试通过ajax发送postdata
到目前为止,代码尝试了,
var $inputs = $('#myform :input');
var values = {};
$inputs.each(function(i,field) {
if($(this).is(':text'))
{
//alert("id : " + field.id + " value : "+ field.value);
values[field.id] = field.value
}
if($(this).is(":radio"))
{
var v = $(this).attr('checked')
if (v == true)
{
values[this.name] = $(this).val()
//alert($(this).attr('checked'))
}
}
if($(this).is(":checkbox"))
{
var v = $(this).attr('checked')
if (v == true)
{
values[this.name] = $(this).val()
//alert($(this).attr('checked'))
}
}
alert($(this).is(":hidden"))
if($(this).is(":hidden"))
{
values[field.name] = field.value
}
//alert("dropdownlist : " + $(this).is('option:selected'));
//values[field.id] = field.value
});
它工作正常,但我想确定
是否选择了下拉列表
在它上面我需要添加values[field.id] = field.value
有没有办法找出下拉列表
与$(this).is(':checkbox'),$(this).is(':text')
相似
任何帮助都是有价值的
答案 0 :(得分:2)
您可以检查它是否是<select>
元素,如下所示:
$(this).is("select")
由于.is()
采用任何选择器,只需使用element selector:)
从整体角度来看,您似乎在重新审核内置功能,看看.serialize()
和.serializeArray()
,您可以使用它来执行您已尝试过的功能,例如:
$.post(url, $("#myform").serialize());