2011-08-07 8 views
-2

私はopenURLメソッドによって返されている最後のID変数を渡そうとしています。これはコードです:JSONオブジェクトを変数に渡す

" + ": function() { 
    formCount++; 
    $("#form tbody").append('<tr class="test"><td><input type="text" id="requirement'+formCount+'" class="text ui-widget-content ui-corner-all" /></td><td><input type="text" id="objects'+formCount+'" value="" class="text ui-widget-content ui-corner-all" /></td><td><input type="text" id="andor'+formCount+'" value="" class="text ui-widget-content ui-corner-all" /></td><td><input type="text" id="qty'+formCount+'" value="" class="text ui-widget-content ui-corner-all" /></td><td><div id="del'+formCount+'"><img src="themes/balance/images/delete_button.png" style="cursor:pointer; margin-left: 15px; margin-bottom: 5px;" alt="Delete" /></div></td></tr>'); 

    /* Delete requirement from database */ 
    $("#del"+formCount).click(function(param) { 
     $(this).parent().parent().remove(); // removes whole row in layout 
     var ReqID = ?????; 
     var query = '.requirements.deleteRequirement/'+gameID+'/'+ReqID+''; 
     openURL(url+query, function(param) { }); 
     //alert(url+query);    
    }); 

    /* Add requirement to database */ 
    var query = '.requirements.createRequirement/'+gameID+'/Location/'+id+'/PLAYER_HAS_ITEM/1/1/1/1'; 
    openURL(url+query, function(param) { 
     var CaughtID = new Boolean(param.lastID); 
     if(CaughtID.valueOf()) { 
      $(".test").append('<input type="hidden" id="reqID'+formCount+'" value="'+param.lastID+'" />') 
     } 
     param.lastID = 0; // important! Prevent to keep the last value in the object after add (check in DOM ;)) 

    }); 
} 

私の問題は、REQIDにparam.lastIDを渡すことです。私は$( "#reqID" + formCount).val()を試しましたが、おそらく非同期関数なので未定義を返します。私の質問は、この問題を解決する方法ですか?

+0

は、なぜあなたは '「+」'に機能を割り当てていますか?私はこれがタイプOであることを願っています... – tjameson

+0

"+"はボタンです: – user874565

+0

したがって、ボタンに機能を割り当てていますか?その匿名の人は? – tjameson

答えて

0

イベントハンドラの唯一のパラメータはイベントオブジェクトです。

コードを正しく理解していれば、オブジェクトの作成時に設定した値を取得しようとしています。

var ReqID = $(this).val()

これは背中の文字列をあなたを与えるだろう、それはそれはあなたのコードで動作させるためにあなた次第です:あなたは値からデータを取得する必要があります。

EDIT:

"#del" + formCountを定義していますか?あなたが別のセレクタを必要とするかもしれない...多分、このような何か:

var ReqID = $('reqID' + formCount).val();

+0

"#del" + formCountがここに定義されています$( "#form tbody").append – user874565

+0

そして私の解決策はうまくいかなかったのですか?特に私が与えた2番目のもの。それはあなたがそのデータを保存している場所のようです。すべてを削除する前に、おそらくデータを取得する必要があります... – tjameson

+0

恥、それは動作していない、私はvarで未定義の値を取得しているReqID = $( 'reqID' + formCount)。警告(url + query)はこれを返します。http://clip2net.com/s/165wq – user874565

関連する問題