2017-04-17 13 views
-1

された後、私はそれが動的にダウンロードされ、私は次のようにこれを実行した後、ドロップダウンリストのデフォルト値を設定しよう:どのように設定されたデフォルト値ドロップダウンリストのそれは動的なダウンロード

function editUser() { 
// массив для взятий информации о пользователе из таблицы 
    var userInfo = []; 

    // $("table").find("tr").each(function() { 
    // 
    //  if($(this).is(":visible")){ 
    //   alert("success"); 
    //   console.log("SUCCESS") 
    //  } 
    // }) 
    var count = 0; 
    // здесь надо передать одно значение, то есть один ряд с инфой о пользователе иначе кинуть alert 
    $("table").find("tr").each(function() { 
     if ($(this).find("input").is(":checked")) { 
      count++; 
     } 
    }); 
    if (count <= 1) { 
     $("table").find("tr").each(function() { 
      if ($(this).find("input").is(":checked")) { 
       $(this).find("td").each(function() { 
        userInfo.push(this.innerHTML); 
       }) 
       return false; 
      } 
      count = 0; 
     }); 
    } 
    else { 
     alert("Выбрано больше одного значения"); 
     if ($("#tableForUser").length != 0) { 
      getUsers(); 
      count = 0; 
      return; 
     } 
     if ($("#tableForOwners").length != 0) { 
      getOwners(); 
      count = 0; 
      return; 
     } 
     if ($("#tableForDrivers").length != 0) { 
      getDrivers(); 
      count = 0; 
      return; 
     } 
    } 
    console.log(userInfo); 
    // alert("SUCCESS"); 

    console.log(listCities); 

    $("#head").children().remove(); 
    var trHTML = ''; 
    trHTML += '<form id="changeForm" class="form-horizontal" role="form">' + 
     '<input id="inputID" class="form-control" type="text" style="visibility:hidden">' + 
     '<div class="form-group">' + 
     '<label class="col-lg-3 control-label">Ник:</label>' + 
     '<div class="col-lg-8">' + 
     '<input id="inputNick" class="form-control" type="text">' + 
     '</div>' + 
     '</div>' + 
     '<div class="form-group">' + 
     '<label class="col-lg-3 control-label">Имя:</label>' + 
     '<div class="col-lg-8">' + 
     '<input id="inputFirstname" class="form-control" type="text">' + 
     '</div>' + 
     '</div>' + 
     '<div class="form-group">' + 
     '<label class="col-lg-3 control-label">Фамилия:</label>' + 
     '<div class="col-lg-8">' + 
     '<input id="inputLastname" class="form-control" type="text" >' + 
     '</div>' + 
     '</div>' + 
     '<div class="form-group">' + 
     '<label class="col-lg-3 control-label">Мобильный телефон:</label>' + 
     '<div class="col-lg-8">' + 
     '<input id="inputMobile"class="form-control" type="text">' + 
     '</div>' + 
     '</div>' + 
     '<div class="form-group">' + 
     '<label class="col-lg-3 control-label">Электронная почта:</label>' + 
     '<div class="col-lg-8">' + 
     '<input id="inputEmail" class="form-control" type="text">' + 
     '</div>' + 
     '</div>' + 
     '<div class="form-group">' + 
     '<label class="col-lg-3 control-label">Город:</label>' + 
     '<div class="col-lg-8">' + 
     '<div class="ui-select">' + 
     '<select id="cities" class="form-control">' + 
     '</select>' + 
     '</div>' + 
     '</div>' + 
     '</div>' + 
     '<div class="form-group">' + 
     '<label class="col-md-3 control-label">Пароль:</label>' + 
     '<div class="col-md-8">' + 
     '<input id="inputPassword1" class="form-control" type="password">' + 
     '</div>' + 
     '</div>' + 
     '<div class="form-group">' + 
     '<label class="col-md-3 control-label">Подтвердите пароль:</label>' + 
     '<div class="col-md-8">' + 
     '<input id="inputPassword2" class="form-control" type="password">' + 
     '</div>' + 
     '</div>' + 
     '<div class="form-group">' + 
     '<label class="col-md-3 control-label"></label>' + 
     '<div class="col-md-8">' + 
     // '<input type="button" class="btn btn-primary" onclick="saveChanges();" value="Save Changes">' 
     '<button type="button" class="btn btn-primary" onclick="saveChanges();">Сохранить</button><br>' + 
     '<span></span>' + 
     '<button type="button" class="btn btn-default" onclick="">Отменить</button><br>' + 
     '</div>' + 
     '</div>' + 
     '</form>'; 
    $("#head").append(trHTML); 
    if (userInfo[1] == null) { 
     alert("Выберите пользователя для редактирования"); 
     $("#head").children().remove(); 
    } 
    else { 
     //Записываем индекс 
     // massChanges.push(userInfo[0]); 
     // console.log(massChanges); 

     $(getCities().done(function() { 
      document.getElementById("inputID").value = userInfo[0]; 
      document.getElementById("inputNick").value = userInfo[1]; 
      document.getElementById("inputFirstname").value = userInfo[2]; 
      document.getElementById("inputLastname").value = userInfo[3]; 
      document.getElementById("inputMobile").value = userInfo[4]; 
      document.getElementById("inputEmail").value = userInfo[5]; 
      $("#cities").val(userInfo[6]); 
      // $('cities option:contains(userInfo[6])').prop('selected',true); 
      document.getElementById("inputPassword1").value = userInfo[7]; 
      document.getElementById("inputPassword2").value = userInfo[7]; 

      userInfo = []; 
     })) 
    } 
} 

関数getCities()宣言:

var listCities = []; 
var city; 
function getCities() { 

    $.ajax({ 
     type: "GET", 
     url: "/admin/getCities", 
     datatype: "json", 
     success: function (response) { 
      $.each(response, function (i, item) { 
       listCities.push(item); 
      }); 
      $.each(listCities, function (i, item) { 

       city += '<option>' + item + '</option>'; 
      }) 
      $("#cities").append(city); 
     }, 
     error: function() { 
      alert("error") 
     } 
    }) 
} 

しかし、私は次のエラーを取得、すべての回: はeditUserで未定義の「行って」プロパティを読み取ることができません。どのように私はこの問題を解決することができます考えている?

+0

(jQueryの 'に' getCities'機能を渡す必要はありません) '、' getCities()、getCities()コールも

getCities().done(function(){/* do stuff */}) 

周りjQuery()ラッパーを削除します。完了(function(){}) ' – guest271314

答えて

0

But every times I get following error: Cannot read property 'done' of undefined at editUser. There are any idea how i can solve this problem?

あなたは.done()メソッドを持っていない、jQuery()getCities()の関数呼び出しを渡しています。 getCities機能からreturn$.ajax()コール

function getCities() { 
    return $.ajax(/* settings */) 
} 
+0

おかげさまで助けてくれてありがとう! – Nick

関連する問題