2011-08-07 291 views
-2

我試圖傳遞最後的ID變量,這是由openURL方法返回的。這是代碼:將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 ;)) 

    }); 
} 

我的問題是,要param.lastID傳遞給REQID。我嘗試$(「#reqID」+ formCount).val(),但它返回未定義,可能是因爲異步函數。我的問題是,如何解決這個問題?

+0

爲什麼你分配一個函數'「+」'?我希望這是一個類型的O ... – tjameson

+0

「+」是一個按鈕: – user874565

+0

所以,你正在分配一個功能的按鈕?那個匿名的? – tjameson

回答

0

事件處理程序的唯一參數是事件對象。

如果我正確理解了您的代碼,您正嘗試獲取創建對象時設置的值。你必須從價值提取數據:

var ReqID = $(this).val()

這會給你回一個字符串,它是由你來讓它在你的代碼工作。

編輯:

哪裏"#del" + formCount定義?您可能需要一個不同的選擇......也許是這樣的:

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

+0

「#del」+ formCount在這裏定義$(「#form tbody」).append – user874565

+0

而我的解決方案沒有工作?具體來說,我給了第二個。這似乎是你存儲這些數據的地方。您應該在刪除所有內容之前抓取數據... – tjameson

+0

恥辱,它不工作,我在var ReqID = $('reqID'+ formCount).val()中獲取未定義的值。和警報(網址+查詢)返回這個http://clip2net.com/s/165wq – user874565