2016-04-07 19 views
0

私は、それを生成するためのjavascript関数を呼び出すphpページを持っています。 ページはそれぞれ独自のフォームを持つユーザーのリストです。フォームIDには、各ユーザーの編集、削除などを許可するためにその名前にIDが付加されています。 フォームは、理論上は各レコードのために吸い込まれるhtmlページの形です。 jquery each()を使用してレコードを繰り返し処理しています。理論的には、htmlページを吸い込んで各レコードごとに取り込む必要があります。私もループを試みました。 以下のコードは、正しい数のフォームを生成しますが、空です。 他の取り組みでは、最後のレコードだけが拳のボックスに入れられ、残りのものは空になりました。 ご迷惑をおかけして申し訳ございません。jquery.each()関数内の要素値を割り当てる方法

$(Udata).each(function(uId, value){ 
    uid = value.uid; 
    var uname = value.uname; 
    function setValues() { 
     window.document.getElementById("username").value=uname; 
     window.document.getElementById("frmDelUsr").setAttribute("name","frmDelUsr"+uid); 
    } 

    $.get("users.html",{}, function (data) {        
    $("#divfrmDelUser").append(data), function(){setValues();} 

}); 
+1

jQueryはあなたのdomにidを持つ最初のフィールドしか見つけません。idは一意であると仮定します。クラスを使用して、パラントでそれらを分けることを教えてください。 – Filip

答えて

0
$(Udata).each(function(uId, value){ 
    uid = value.uid; 
    var uname = value.uname; 
    function setValues() { 
     window.document.getElementById("username").value=uname; 
     window.document.getElementById("frmDelUsr").setAttribute("name","frmDelUsr"+uid); 
    } 

    $.get("users.html",{}, function (data) {        
    $(this).children('.divfrmDelUser').append(data), function(){setValues();} //<--- CHANGED 

}); 

まずあなたがクラスにそのIDを作成することにより、ID「divfrmDelUser」を持つ要素を変更する必要があると思います(ただ、明らかに「ID」とタイプ「クラス」を消去)、その後、何これはべきするには、使用されている現在のUdataを選択し、クラス "divfrmDelUser"を含むその中の要素を探し、それを実行するように設定します。

+0

すぐに返信してくれてありがとう、私は今、役に立たない。ユーザーが削除または編集したときにinnerHTMLではなく値を使用したい – philm127

+0

ああ、完全に忘れてしまったのは、@ Filipが言っていたことは、私が注意を払っていなかったことです。最初のものを取り込みます。あなたがすでにそれを理解していなければ、私はあなたのための例をここに作ることができたと思います。 – user326964

+0

フィリップが意味するものを得てそれに応じて調整しました。私はあなたのコードとIDを変更しましたが、setValues()関数は起動しません。 – philm127

関連する問題