下面的代码对我有用

function gethotelsbydestination(dest_id) {

  $.ajax({
         url: "controller/gethotels.php",
         dataType: "json",
         data: "id=" + dest_id,
         success: function(data) {
              $("#divid").html("");
              $.each(data, function(index, item) {
                  var val = item.id;
                  var text = item.name;
                      $("#divid").append(
                      $('<option></option>').val(val).html(text)
                       );
              })
         }
   });
}


但是当我使用以下代码时不返回任何内容。divv是从php页面传递的下拉列表的ID

function gethotelsbydestination(dest_id, divv) {

    var divdrp = "$('#" + divv + "')";
    $.ajax({
         url: "controller/gethotels.php",
         dataType: "json",
         data: "id=" + dest_id,
         success: function(data) {
             divdrp.html("");
             $.each(data, function(index, item) {
                 var val = item.id;
                 var text = item.name;
                 divdrp.append(
                      $('<option></option>').val(val).html(text)
                 );
             })
         }
    });
}


问题是var divdrp="$('#"+divv+"')";
任何解决方案请

最佳答案

您不能直接串联。用这个:

divdrp = $('#' + divv);


代替这个:

var divdrp = "$('#" + divv + "')"; //  it is not a jquery object

关于javascript - jQuery在动态处理时无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27499513/

10-11 11:58