Javascript 如何从ajax中的输入中获取数组中的检查值
我试图从我的ajax中获取检查过的输入值,但它只返回我的第一个勾号……这是我的代码Javascript 如何从ajax中的输入中获取数组中的检查值,javascript,php,jquery,ajax,laravel,Javascript,Php,Jquery,Ajax,Laravel,我试图从我的ajax中获取检查过的输入值,但它只返回我的第一个勾号……这是我的代码 function getBranchAjax(cuid, stid) { $.ajaxSetup({ headers: { 'X-CSRF-Token': $('meta[name=csrf-token]').attr('content') } }); $.ajax({ url: "{{ route('reportin
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');
}
})
}
我希望基于我的输入滴答值获得更多的值,这是因为您在for循环中添加了一个中断 移除它将解决您的问题
for(var i=0; inputElements[i]; ++i){
if(inputElements[i].checked){
checkedValue = inputElements[i].value;
}
}
如果要获取所有最新的已单击复选框,可以使用onChange
function checkedInput()
{
cosnt checkedValue = [];
for(var i=0; inputElements[i]; ++i){
if(inputElements[i].checked){
checkedValue.push(inputElements[i].value);
}
}
return checkedValue ;
}
$(document).on('change', '#ss', function () {
console.log(checkedInput());
})
需要在一个数组(或类似数组)中保存多个值 例如:
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);
使用数组中的值,您可以对它们执行任何操作,例如显示它们或对它们执行某些转换。所有输入字段都具有相同的
名称
属性值,你需要给你的输入字段一个唯一的名称属性值。为什么你会得到一个以上的值,因为这正是代码给出的值?如果我想返回更多基于记号的数据,我的代码是否需要任何更改?嗨…谢谢你的反馈…尝试删除中断,但只返回最新的记号数据…我想返回许多基于记号的数据在tickhi上,先生…请尝试您的代码,但它会返回所有不基于check的数据?有什么想法吗?好的,表达式只需要一个过滤器。已编辑。。。再试一次。
var checkedValues = jQuery('.ss:checked').get().map(el => el.value);
console.log(checkedValues);