我正在寻找我的问题的解决方案。我有一堆复选框,并基于他们被检查我想发送到ajax调用的值。如何将值从检查输入传递给ajax调用
这里是我的html ...
<div class="control-group ">
<label for="qualifications" class="control-label required">Qualifications</label>
<div class="controls">
<table class="table">
<tbody>
<tr>
<td>Induction</td>
<td>
<div class="switch" data-on-label="In" data-on="info" data-off-label="Out">
<input id="qual" name="qual[1]" type="checkbox" value="1">
</div>
</td>
</tr>
<tr>
<td>LearnerZone Academy</td>
<td>
<div class="switch" data-on-label="In" data-on="info" data-off-label="Out">
<input id="qual" name="qual[7]" type="checkbox" value="7">
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="control-group ">
<label for="units" class="control-label required">Units</label>
<div id="unit-holder" class="controls">
<table class="table">
<tbody>
<tr>
<td>Data Protection (DP1)</td>
<td>
<div class="switch" data-on-label="In" data-on="info" data-off-label="Out">
<input name="unit[7]" type="checkbox" value="7">
</div>
</td>
</tr>
<tr>
<td>Equal Opportunities (EQ1)</td>
<td>
<div class="switch" data-on-label="In" data-on="info" data-off-label="Out">
<input name="unit[3]" type="checkbox" value="3">
</div>
</td>
</tr>
<tr>
<td>Health & Safety (HS1)</td>
<td>
<div class="switch" data-on-label="In" data-on="info" data-off-label="Out">
<input name="unit[1]" type="checkbox" value="1">
</div>
</td>
</tr>
</tbody>
</table>
</div>
而jQuery的...
// Makes the question count
$("input[type=checkbox]").on('change', function(){
var units = $('#unit[]');
var stringy = JSON.stringify(units);
//EDIT
//I'm actually looking for both qualifications and units
var qualifications = $('#qualifications[]');
var stringy = JSON.stringify(qualifications);
$.ajax({
type: "POST",
url: "http://vle.dev/ajax/question-count",
data: {units: units, qualifications: qualifications},
dataType: "text"
}).done(function(data) {
$('.qCount').html(data);
});
});
有人能帮助我吗?
我认为你正在寻找'.serialize',而不是'JSON.stringify'。 – Alnitak
您的'input'元素编码错误。他们应该以'/>'结尾,而不是'>' – musefan
@musefan这取决于文档类型,不是吗? – zeroflagL