【问题标题】:dynamic drop down ajax success动态下拉ajax成功
【发布时间】:2017-07-22 02:10:46
【问题描述】:

这里我正在尝试使用这种方法来显示 ajax 成功代码的动态下拉如下:

 success: function (data) {
    for (var i in data) {
      console.log(data[i].CompanyID + ',' + data[i].clientidSele + ',' + data[i].CompanyName);
      document.getElementById("dropDown").innerHTML = '<select>' + data[i].CompanyName + '</select>';
    }
 }

一直在尝试将其附加到 html 格式,但仅显示最后一个值,其他未显示 document.getElementById("dropDown").innerHTML 它用于选择标记。

【问题讨论】:

  • 你可以使用&lt;option&gt;而不是&lt;select&gt;标签吗?您正在修改 innerHTML
  • 工作,但它只显示最后一个值,其他没有显示
  • 是的,但你应该这样做+=
  • @rinki 如果解决方案对您有用,那么您可以投票,以便帮助其他人解决类似问题

标签: javascript jquery html ajax


【解决方案1】:

首先在 jquery 库文件中。 我希望你能理解我的所作所为。

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.js"></script>

success: function (data) {
    var result="<select>";
    $(data).each(function(index,value)){
        result+="<option value='" + value.CompanyID + "'>"+value.CompanyName+"</option>"
    }
    result+="</select>";
    $("#dropDown").html(result);
}

【讨论】:

    【解决方案2】:

    你应该使用&lt;option&gt;标签,因为你已经插入innerHTML&lt;select&gt;标签,你也应该使用

    ...innerHTML += '<option>' + data[i].CompanyName + '</option>';
    

    因为= 会在每次迭代中覆盖前一个。

    【讨论】:

      【解决方案3】:

      在分配中使用+= 中的document.getElementById("dropDown").innerHTML +=

      success: function (data) {
          var drop_down_option ='<select>';
          for (var i in data) {
              console.log(data[i].CompanyID + ',' + data[i].clientidSele + ',' + data[i].CompanyName);
              drop_down_option += '<option>' + data[i].CompanyName + '</option>';
           }
           drop_down_option += '</select>';
       document.getElementById("dropDown").innerHTML = drop_down_option;
      }
      

      【讨论】:

        【解决方案4】:

        问题是你没有连接 html。

        请修改您的代码:

        success: function (data) {
        var selectHtml = "<select>";
        
        for (var i in data) {
        
            console.log(data[i].CompanyID + ',' + data[i].clientidSele + ',' + data[i].CompanyName);
        
             selectHtml += '<option value="' + data[i].CompanyID + '">' + data[i].CompanyName + '</option>';
         }
        
         selectHtml += '</select>';
        
        document.getElementById("dropDown").innerHTML = selectHtml ;
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-05
          • 1970-01-01
          • 1970-01-01
          • 2015-05-03
          • 1970-01-01
          相关资源
          最近更新 更多