我试图从我的ajax获取我检查的输入值,但它只返回我的第一个刻度...这是我的代码
function getBranchAjax(cuid, stid) {
$.ajaxSetup({
headers: {
'X-CSRF-Token': $('meta[name=csrf-token]').attr('content')
}
});
$.ajax({
url: "{{ route('reporting.getBranchAjax',['cuid','stid']) }}",
method: 'GET',
data: { cuid: cuid, stid: stid },
dataType: 'json',
success: function (data) {
console.log(data);
console.log(data.branch.length);
//remove all option except the first option the append with new option
//remove all option except the first option the append with new option
for (var x = 0; x < data.branch.length; x++) {
//console.log(data.branch[x].cb_branch_Name);
$('#brRecord').append(`<tr><td style='width: 110px; text-align: left;'>${data.branch[x].cb_branchcode}
</td><td style='width: 600px; text-align: left;'>${data.branch[x].cb_branch_Name}</td>
<td style='width: 20px;'>
<input type="checkbox" class="ss" name="ss" id="ss" value="${data.branch[x].cb_branch_Name}" /></td><td>
</td></tr>`);
}
},
fail: function (xhr, textStatus, errorThrown) {
alert('request failed');
}
})
}
通过类名获取值,这只是我的第一个刻度的返回值
var checkedValue = null;
var inputElements = document.getElementsByClassName('ss');
for(var i=0; inputElements[i]; ++i){
if(inputElements[i].checked){
checkedValue = inputElements[i].value;
break;
}
}
console.log(checkedValue); // only return a value of my first tick
我希望根据我的输入刻度值获得更多值(value)
最佳答案
多个值需要保存在数组(或类似的数组)中。
例如:
var checkedValues = Array.from(document.getElementsByClassName('ss')).filter(el => el.checked).map(el => el.value);
console.log(checkedValues);
或者,因为问题被标记为 jQuery:
var checkedValues = jQuery('.ss:checked').get().map(el => el.value);
console.log(checkedValues);
使用数组中的值,您可以对它们执行任何您想要的操作,例如显示它们或对它们执行某些转换。
关于javascript - 如何从 ajax 中的输入获取数组中的检查值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60087003/