Передача объекта JSON в переменную - PullRequest
0 голосов
/ 07 августа 2011

Я пытаюсь передать последние переменные идентификатора, которые возвращаются методом openURL.Это код:

" + ": 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 (), но он возвращает неопределенное, вероятно, из-за асинхронной функции.У меня вопрос, как решить эту проблему?

1 Ответ

0 голосов
/ 07 августа 2011

Единственный параметр обработчика событий - это объект события.

Если я правильно понимаю ваш код, вы пытаетесь получить значение, которое вы установили при создании объекта.Вам придется извлечь данные из значения:

var ReqID = $(this).val()

Это вернет вам строку, и вы сами должны заставить ее работать в вашем коде.

РЕДАКТИРОВАТЬ:

Где определяется "#del" + formCount?Вам может понадобиться другой селектор ... может быть что-то вроде этого:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...