我编写了下面的函数来获取checked复选框的值,这样我就可以使用AJAX将值发送到Java类,我在代码中使用的变量名是checkID。
function getParam()
{
alert ($("#paramNameVal").val());
// $paramName=$('#paramName');
// alert("Hi");
var elements = $("[name^='Day']");
var units = [];
for (var i = 0; i < elements.length; i++){
// alert("for");
var element = $(elements[i]);
alert(element);
if (element.is(":checked")){
units.push(element.val());
}
}
var stringy = JSON.stringify(units);
//alert(stringy);
var interval=document.getElementById('time').value;
$("#showParam1").html("");
$.ajax({
type: "POST",
url: "dojo_Getgrid.action",
data:{Interval:interval ,Userlist : $("#paramNameVal").val(),checkID : stringy },
// data: { ,},
//data:$("#paramName").val(),
success: function( response ) {
console.log( response );
alert(response);
$("#showParam1").html(response);
// document.getElementById("showParam").style.display='block';
}
});
}
但在java课程中,我只是得到了[&#34; true&#34; ,&#34; true&#34;]以防我选择两个复选框而不是复选框的实际值。
下面是复选框
<s:form name="parameterGrid" theme="simple" >
<fieldset >
<table style=" margin: 0px;" border="0"
class="table-form">
<tr >
<td align="justify"><s:label key="Everyday"></s:label></td>
<td align="justify"><s:checkbox name="All" id="All" theme="simple" onclick="check();"></s:checkbox></td>
</tr>
<tr>
<td ><s:label key="Sunday"></s:label></td>
<td ><s:checkbox name="Day[1]" id="D1" fieldValue="Sunday" theme="simple"></s:checkbox></td>
<td ><s:label key="Monday"></s:label></td>
<td ><s:checkbox name="Day[2]" id="D2" fieldValue="Monday" theme="simple" ></s:checkbox></td>
<td><s:label key="Tuesday"></s:label></td>
<td ><s:checkbox name="Day[3]" id="D3" fieldValue="Tuesday" theme="simple"></s:checkbox></td>
<td><s:label key="Wednesday"></s:label></td>
<td ><s:checkbox name="Day[4]" id="D4" fieldValue="Wednesday" theme="simple"></s:checkbox></td>
<td><s:label key="Thursday"></s:label></td>
<td ><s:checkbox name="Day[5]" id="D5" fieldValue="Thursday" theme="simple"></s:checkbox></td>
<td><s:label key="Friday"></s:label></td>
<td ><s:checkbox name="Day[6]" id="D6" fieldValue="Friday" theme="simple"></s:checkbox></td>
<td><s:label key="Saturday"></s:label></td>
<td ><s:checkbox name="Day[7]" id="D7" fieldValue="Saturday" theme="simple"></s:checkbox></td>
<%-- <s:hidden name="day1" id="day1" value="%{day1}" /> --%>
</tr>
</table>
答案 0 :(得分:0)
我从未使用过Struts表单,但通常你可以通过jQuery获取元素属性值。 检查一下详细参数!! http://struts.apache.org/release/2.0.x/docs/checkbox.html
而不是 units.push(element.val()); 尝试答案 1 :(得分:0)
首先设置复选框的值,例如
<input class="Day1" type="checkbox" value="one">
<input class="Day2" type="checkbox" value="two">
<input class="Day3" type="checkbox" value="three">
如果您想访问值
var checkedValues = $("[name^='Day']:checked").map(function(){
return $(this).val();
}).get();