gpt4 book ai didi

html - 当 Ajax 响应来自使用 select2 的 laravel Controller 时,如何检查 JQuery 附加选项中的条件?

转载 作者:行者123 更新时间:2023-12-04 08:10:47 24 4
gpt4 key购买 nike

当我在表中附加一个选择选项 whit jquery 时,我想比较两个值,我想比较 if(response.score_range[j].score_range_id =+ item.score_range_id+) ,它等于选项应该是 selected默认情况下,但我不能这样做。如果有人知道,请帮忙。
jquery 代码:-

success: function (response) {
var trHTML = '';
if (response.student.length > 0) {
$.each(response.student, function (i, item) {
trHTML += '<tr><td>' + item.st_id + '</td><td>' + item.full_name + '</td><td>' + item.father_name + '</td>' +
'<td>' +
'<input type="number" name="score[]" id="score" step="any" class="form-control" value="'+item.score+'">' +
'<input type="hidden" name="student_id[]" id="student_id" step="any" class="form-control" value="'+item.st_id+'">' +

'</td>' +
'<td>' + '<select class="form-control select2_1" name="score_range" id="score_range">';
for (var j = 0; j < response.score_range.length; j++) {
trHTML += '<option "'+if(response.score_range[j].score_range_id +'='+ item.score_range_id+'") selected value="' + response.score_range[j].score_range_id +'">' + response.score_range[j].type + ' ( ' + response.score_range[j].low_range + '-' + response.score_range[j].up_range + ' )' + '</option>';
}
trHTML += +'</select>' +
'</td></tr>';
});
$('#tbl_report').html(trHTML);

}
else {
trHTML = '<tr style="text-align: center"><td colspan="8">' + 'هیچ اطلاعاتی یافت نشد' + '</td></td>';
$('#tbl_report').html(trHTML);

}
}
这是 dd(response(['student'=>$student,'score_range'=>$range]))结果:
 +original: array:2 [
"student" => Collection {#760
#items: array:6 [
0 => {#759
+"st_id": 557
+"full_name": "احمد نوید"
+"father_name": "محمد"
+"score": 95.0
+"score_range_id": 1
}
1 => {#753
+"st_id": 563
+"full_name": "الیاس"
+"father_name": "محمد ضیا"
+"score": 100.0
+"score_range_id": 1
}
2 => {#755
+"st_id": 580
+"full_name": "سارا"
+"father_name": "نادر علی"
+"score": 92.0
+"score_range_id": 1
}
3 => {#754
+"st_id": 582
+"full_name": "آرزو عادلی"
+"father_name": "عبدالحکیم"
+"score": 96.0
+"score_range_id": 1
}
4 => {#756
+"st_id": 584
+"full_name": "نرگس شریفی"
+"father_name": "محمد حسین"
+"score": 93.0
+"score_range_id": 1
}
5 => {#757
+"st_id": 590
+"full_name": "احمد نوید"
+"father_name": "نادر علی"
+"score": 91.0
+"score_range_id": 1
}
]
}
"score_range" => Collection {#797
#items: array:2 [
0 => {#799
+"score_range_id": 1
+"low_range": "90"
+"up_range": "100"
+"type": "A"
}
1 => {#800
+"score_range_id": 2
+"low_range": "80"
+"up_range": "90"
+"type": "B"
}
]
}
]

最佳答案

您可以保留一些变量并使其成为 ""因此,如果条件匹配,则分配值 selected其他 ""然后在你的选项标签中传递这个变量。
演示代码 :

var response = {
"student": [{
"st_id": 557,
"full_name": "احمد نوید",
"father_name": "محمد",
"score": 95.0,
"score_range_id": 1
}, {
"st_id": 55,
"full_name": "احمد نوید",
"father_name": "محمد",
"score": 9.0,
"score_range_id": 2
}, {
"st_id": 55,
"full_name": "احمد نوید",
"father_name": "محمد",
"score": 87,
"score_range_id": 3
}],
"score_range": [{
"score_range_id": 1,
"low_range": "90",
"up_range": "100",
"type": "A"
}, {
"score_range_id": 2,
"low_range": "190",
"up_range": "10",
"type": "B"
}, {
"score_range_id": 3,
"low_range": "190",
"up_range": "10",
"type": "C"
}]
}
var trHTML = '';
$.each(response.student, function(i, item) {
trHTML += '<tr><td>' + item.st_id + '</td><td>' + item.full_name + '</td><td>' + item.father_name + '</td>' +
'<td>' +
'<input type="number" name="score[]" id="score" step="any" class="form-control" value="' + item.score + '">' +
'<input type="hidden" name="student_id[]" id="student_id" step="any" class="form-control" value="' + item.st_id + '">' +

'</td>' +
'<td>' + '<select class="form-control select2_1" name="score_range">';
var selecteds = item.score_range_id;
for (var j = 0; j < response.score_range.length; j++) {
var option_selected = "";
//check if equals
if (response.score_range[j].score_range_id == selecteds) {
option_selected = "selected" //selected
}
//append it as well..
trHTML += '<option ' + option_selected + ' value="' + response.score_range[j].score_range_id + '" >' + response.score_range[j].type + ' ( ' + response.score_range[j].low_range + '-' + response.score_range[j].up_range + ' )' + '</option>';
}
trHTML += '</select></td></tr>';
});

$('#tbl_report').html(trHTML);
//intialize select2 ...
$("select[name=score_range]").select2({
"width": '200px'
})
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/select2@4.1.0-beta.1/dist/css/select2.min.css">
<script src="https://code.jquery.com/jquery-3.5.0.js"></script>
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-beta.1/dist/js/select2.min.js"></script>

<table id="tbl_report">
</table>

关于html - 当 Ajax 响应来自使用 select2 的 laravel Controller 时,如何检查 JQuery 附加选项中的条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65975954/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com