我有下一个jQuery代码:
function getParameter() {
var valor = [];
$("input[name='TiposServicioSeleccionados']:checked").each(function (i) {
valor.push($(this).val());
});
if (valor.length == 0) {
valor.push("0");
}
return {
nofacturados: $("#nofacturados:checked").val(),
precioactual: $("#precioactual:checked").val(),
TiposServicioSeleccionados: valor
};
}
我想向'TiposServicioSeleccionados'致意'勇敢',在我的控制器中我有这个
public ActionResult LeerExt_DevolucionRepuesto(string[] TiposServicioSeleccionados, bool? facturados, bool? nofacturados)
{
int id_empresaservicio = Convert.ToInt16(Session["id_empresaservicio"]);
var res = GetDevolucionRepuestos(TiposServicioSeleccionados,facturados,nofacturados);
return Json(res.ToDataSourceResult(request));
}
但是TiposServicioSeleccionados总是空的,我不知道为什么......
我打电话给getParameter
:
Read(read => read.Action("LeerExt_DevolucionRepuesto", "Consultas").Data("getParameter"))
我需要,例如,如果我选中了三个复选框,则在TiposServicioSeleccionados
我要保存下一个值:TiposServicioSeleccionados[0]="value of the first chekbox"
,TiposServicioSeleccionados[1]="value of the second chekbox"
,TiposServicioSeleccionados[2]="value of the third chekbox"
此致
答案 0 :(得分:0)
尝试使用JSON.stringify
并使用push添加数组对象
function getParameter() {
var valor = [];
$("input[name='TiposServicioSeleccionados']:checked").each(function (i) {
valor.push($(this).val());
});
if (valor.length == 0) {
valor.push("0");
}
return {
TiposServicioSeleccionados: JSON.stringify(valor)
};
}
答案 1 :(得分:0)
你的代码工作得很好,看看这个小提琴:
http://jsfiddle.net/tXAn6/
我添加了3个复选框,并手动选择了第一个和第三个。
... value="Servicio A" checked /> A
... value="Servicio B" /> B
... value="Servicio C" checked /> C
结果是:
Servicio A, Servicio C
修改强>
TiposServicioSeleccionados
不应该是大写,因为它是一个变量,它应该以小写tiposServicioSeleccionados
开头。
通过对流:functionNamesLikeThis
,variableNamesLikeThis
,ClassNamesLikeThis
,EnumNamesLikeThis
,methodNamesLikeThis
和SYMBOLIC_CONSTANTS_LIKE_THIS
。