1

我正在使用其内置的“html”命令编写一些复杂的 sweetalert 弹出窗口:

swal({   
    title: "Popup",
    html:     
      '<p style="font-family:Capriola, sans-serif;font-size: 19px;">' +                  
      '<b>'+title+'</b><br>' +
      '<b>Update Matching</b>' +
      '<div class="input-group">' +
        '<div class="input-group-btn">' +           
          '<button type="button" class="btn dropdown-toggle btn-primary" data-toggle="dropdown" aria-expanded="false">Dropdown<span class="caret"></span></button>' +
          '<ul class="dropdown-menu " role="menu" style="width: 245px;">' +      
            '<li class="dropdown-submenu">' +              
                ''+for(var i=0;i<newList.length;i++){+'<li>'+ newList[i]+'</li>' +}' +                                                                  
            '</li>' +                                                             
          '</ul>' +
        '</div>' +                  
      '</div>' +            
      '' +      
      '' +
      '<input id="uNew" type="text" class="form-control roboto" placeholder="New Owner">' +
      '<input disabled id="uCurrent" type="text" class="form-control roboto" placeholder="Current Owner">' +      
      ' <i id="search" onclick="updatebPMNA()" class="fa fa-check-circle fa-2x fa-green"></i>' +
      '</div>' +
      '<br>' +                        
      '</p>',
    showCancelButton: false,
    showConfirmButton: false,
  }, 

我正在尝试创建一个下拉菜单并根据 javascript 对象中的数据填充它,该对象newList在函数开始时从 PHP 回显。

我遇到了这行代码的问题:

'<li class="dropdown-submenu">' +              
 ''+for(var i=0;i<newList.length;i++){+'<li>'+ newList[i]+'</li>' +}' +                                                                  
'</li>' + 

如果我取出for循环,我可以用一个单一的填充选择<li>并且代码将运行,所以我确定这是引起戏剧性的行。

我知道我可以将 javascript 插入其中,因为这条线有效:

'<b>'+title+'</b><br>' +

我只是不确定我可以插入整个for循环......

我在这里做错了什么?

4

1 回答 1

3

将这些语句分开:

var htmlstr = '...'
...
+ '<li class="dropdown-submenu">';


 for( var i=0; i<newList.length; i++ ){
   htmlstr += '<li>'+ newList[i]+'</li>'; 

 htmlstr += '</li>';

接着

swal({   
    title: "Popup",
    html: htmlstr,
...
于 2015-12-30T16:49:32.150 回答