使用带有name属性的ajax作为键而不是id作为键来传递复选框的值

时间:2015-10-13 12:25:09

标签: ajax checkbox controller

我想知道如何使用ajax传递复选框值,例如使用name属性而不是id属性,例如

<input type="checkbox"   id="s1" value="1" checked>S1&nbsp;
            <input type="checkbox"  id="s2" value="2" checked>S2<br>
            <input type="checkbox"  id="s3" value="3" checked>S3&nbsp;
            <input type="checkbox"  id="s4" value="4" checked>S4</td>

如果我使用id作为属性传递此复选框值,如下所示

.ajax({
            type: 'POST',
            url: 'getData',
            data: {
              fromDate: $('#fromDate').val(),
              toDate: $('#toDate').val(),
              location: $('#location').val(),
              section: $('#section').val(),
              s1: $('#s1').is(":checked"),
              s2: $('#s2').is(":checked"),
              s3: $('#s3').is(":checked"),
              s4: $('#s4').is(":checked"),
        },

然后在控制器中我使用单独的request.getparameters(“key”)获取这些值;

但我想给出的复选框如下

input type="checkbox"   name="s" value="1" checked>S1&nbsp;
        <input type="checkbox"  name="s" value="2" checked>S2<br>
        <input type="checkbox"  name="s" value="3" checked>S3&nbsp;
        <input type="checkbox"  name="s" value="4" checked>S4</td>

从这个使用ajax我想像下面那样做

.ajax({
        type: 'POST',
        url: 'getData',
        data: {
          fromDate: $('#fromDate').val(),
          toDate: $('#toDate').val(),
          location: $('#location').val(),
          section: $('#section').val(),
          s: $('#s').val()
    },

并且在控制器中我希望使用request.getParameterValues(“s”)来获取它;这将返回字符串[]。

你可以帮助我得到这个,实际上我是在正常的Action /提交servlet中得到这个但是在ajax我只得到空值..

1 个答案:

答案 0 :(得分:0)

尝试类似s: $('input[name="s"]:checked').val()

的内容