[英]Loop and string concatenation not working in javascript
在JavaScript中
$.ajax({
url: 'index.php?action=searchbookforassigningbarcode',
type: 'POST',
dataType: 'JSON',
data: {callno:callno},
success: function(data){
$('.library_info_tbl tbody').empty();
if (data.length) {
if(data[0]['DataAvail'] != 0)
{
$("#looplimit").val('');
$("#callnostored").val(callno);
var arrayofbookissued = [];
for(var i in data)
{
var book_id = data[i]['book_id'];
var indivudvalbookdetails = data[i]['indivudvalbookdetails'];
var issuehistory = data[i]['issuehistory'];
for(var k in issuehistory)
{
arrayofbookissued.push(issuehistory[k]['acquisitionno']);
console.log(arrayofbookissued);
}
for(var j in indivudvalbookdetails) {
...
...
'<select id="status' + id + '" class="form-control"'+
for (a = 0; a < arrayofbookissued.length; a++) {
if(arrayofbookissued[a] ==indivudvalbookdetails[j]['acquisitionno'])
{
'disabled'
}
}
+'>'
+'<option value="Select">Select</option>'+
...
...
上面的代碼在“ for(a = 0; a <arrayofbookissued.length; a ++){”行中拋出錯誤消息,告訴“意外的令牌為” ...
實際上,如果ndivudvalbookdetails [j] ['acquisitionno']與arrayofbookissued [a]相同,我實際上正在嘗試分配禁用以選擇元素
請幫忙 !!!
for循環不是表達式,因此不能將其與字符串連接。 –徐福克斯
var disabled = ''; for (a = 0; a < arrayofbookissued.length; a++) { if(arrayofbookissued[a] ==indivudvalbookdetails[j]['acquisitionno']) { disabled = 'disabled'; } } var myString = '<select id="status' + id + '" class="form-control" '+ disabled +' >';
您可以執行以下操作:
function isSelectDisabled(arrayofbookissued, acquisitionNo){
var matchFound = arrayofbookissued.some(function(book){
return book === acquisitionNo;
});
return matchFound ? 'disabled' : '';
}
並用
'<select id="status' + id + '" class="form-control"'+ isSelectDisabled(arrayofbookissued, indivudvalbookdetails[j]['acquisitionno']) +'>'
+'<option value="Select">Select</option>'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.