我对jQuery和Charts真的很陌生。这是我的脚本,它工作正常。它为我提供了用户选择的复选框的ID。我的控制器中有一个图表操作也可以正常工作,但它会使用我的所有值创建一个图表。我希望它根据我脚本中的选定值创建一个图表。我不知道如何将所选值传递给我的控制器。
var checkboxes = $("input[type='checkbox']");
$(function ()
{
function getValueUsingClass() {
/* declare an checkbox array */
var chkArray = [];
/* look for all checkboes that have a class 'chk' attached to it and check if it was checked */
$(".chk:checked").each(function () {
chkArray.push($(this).val());
});
/* we join the array separated by the comma */
var selected = chkArray.join(",") + ",";
/* check if there is selected checkboxes, by default the length is 1 as it contains one single comma */
if (selected.length > 1)
{
alert("You have selected " + selected);
}
else
{
alert("Please check at least one of the checkbox");
}
}
$("#Charter").click(function () {
getValueUsingClass();
});
});
答案 0 :(得分:0)
使用return selected;
填充变量后,在js函数中返回所需数据,然后通过发布表单或使用ajax将其发回。
将您的数据绑定到“查看”页面上的元素,例如:
<input name="foo" id="yourId" value="bar" />
然后修改它的值:
$('#foo').val(getValueUsingClass());
通过将表单发布到控制器来传回模型。
如果您希望将数据发送到控制器异步,那么您可以查看Ajax。
答案 1 :(得分:0)
您可以使用ajax在getValueUsingClass()
中调用控制器方法。
它可能看起来像这样:
$.ajax({
url: "/YourControllerName/Chart",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: { arr: chkArray },
success: function () {
// do things upon success
},
error: function () {
alert("Error!");
}
});
也就是说,为Controller操作提供一个名为arr
的参数,因为json在传递给Controller后会将chkArray
映射到它。