簡體   English   中英

循環和字符串連接在javascript中不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM