我正在尋找我的問題的解決方案。我有一堆複選框,並基於他們被檢查我想發送到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