нужна помощь с простой проблемой JQuery - PullRequest
1 голос
/ 03 декабря 2010

У меня есть текстовое поле. когда пользователь выходит из него (.change) - я хочу выполнить запрос json, чтобы получить одну строку и заполнить ею текстовое поле.

все работает отлично, кроме заполнения по обратному вызову. каждая демонстрация / бит кода, который я могу найти, имеет дело исключительно с заполнением списка выбора в обратном вызове. я не хочу этого делать.

$("#CodeID").change(function() {
    var codeID = $("#CodeID").val();               
    var url = '/diagnosisCodes/GetCodeDescription?CodeID=' + codeID;
    $.getJSON(url, null, function(data) {
        $("#txtDescription").val(data);
    });
}); 

вот что у меня сейчас. очевидно не работает. есть идеи?

Ответы [ 4 ]

2 голосов
/ 03 декабря 2010

Проблема, которую я вижу при просмотре, состоит в том, что параметр data в вашей функции успеха будет объектом JSON. Так, например, если ваш ajax-вызов возвращает JSON, который выглядит как

{description:"Here's my description"}

вы хотите изменить строку, загружающую описание, на

$("#txtDescription").val(data.description);
1 голос
/ 03 декабря 2010

Контроллер MVC начал выдавать 500, потому что у меня не было JsonRequestBehavior.AllowGet установлен.

Код Jquery - это хорошо. спасибо за помощь!

1 голос
/ 03 декабря 2010

Вместо $("#divDescription").val(data);

Вы пробовали $("#divDescription").append(data); или $("#divDescription").html(data);?

edit

После краткого теста я нашелэтот val или append будет работать, если это текстовая область, а не div, к которому вы добавляете.http://jsbin.com/usije5. Val просто уничтожит все существующие данные, а append добавит к существующим.

1 голос
/ 03 декабря 2010

Возможно, потому что data - это данные json (объект javascript), вы должны получить нужное поле от объекта

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