我如何通过ajax / jquery获取spring控制器中的复选框值?


问题内容

在JSP中,我是这样的,

<form:checkbox path="wdays" value="${day.getDaysId()}"/>

和jQuery一样

var wday = ($('input:checkbox:checked').val());
$.ajax({
    type: "POST",
    url: contexPath + "/saveShiftAllotment",
    data: "&wday="+ $('input:checkbox:checked').val(),
    success: function(data)
    {       
        alert("Submited to the Medical Department");
    }

和我的控制器一样,

public void
saveShiftAllotment(@RequestParam(@RequestParam(value="wday") int wday)

问题答案:

在您的问题中,无论是否选中,您都不清楚是否只想获取该值。所以我假设您在选中复选框时触发了ajax调用。 <form:checkbox path="wdays" value="${day.getDaysId()}"/>渲染时将生成与此类似的内容。

<input type="checkbox" id="wdays" name="wdays" value="5"/>

因此,您可以使用以下ID来获取复选框的值:

抓住价值。

$('#wdays').val()

检查是否检查

$('#wdays').is(":checked")

你的ajax电话将是

$.ajax({
    type: "POST",
    url: contexPath + "/saveShiftAllotment",
    data: {wday:$('#wdays').val()},
    success: function(data)
    {       
        alert("Submited to the Medical Department");
    }

在弹簧控制器侧,执行以下操作。

@RequestMapping(value="/saveShiftAllotment") 
public {your_return_type} saveShiftAllotment(@RequestParam (value="wdays") int wday)