Динамически добавить элемент формы - PullRequest
1 голос
/ 14 декабря 2011

Сделал все возможное, чтобы просмотреть результаты поиска и предложить названия, но не смог найти ответ.У меня есть мобильная страница jQuery, которая генерируется через PHP.

Итак, на этой странице у меня есть выпадающий список (город), и после выбора города я хочу, чтобы под ним появился второй выпадающий список, содержащий пригород.Я получил страницу php, которая выплевывает HTML, необходимый для инъекции.

$('#city').change(function() {
  alert($('#city').val());
  if($('#city').val() != "") {
    $.get( 'get_burb.php', { city: $('#city').val() }, function(data) {
      alert(data);
    } );
  }
});

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

edit:

после того, как ничего с ним не сделал, это было внутри fieldcontain, заняло у меня некоторое времячтобы понять это.Кроме того, была проблема, что у недавно введенного поля не было стиля стандартных элементов управления.Кроме того, если пользователь меняет город, нам нужно перезагрузить html и полностью удалить его, если в городе не было никаких «ссор».

после бесчисленных попыток и неудач, я выполнил работу, поставив пустой div (#здесь) внутри fieldcontain, а затем поиграть с ним так:

$('#city').change(function() {
    //alert($('#city').val());
    if($('#city').val() != "") {
        $.get( 'get_burb.php', { city: $('#city').val() }, function(data) {
            $('#burb').remove();
            $('#here').empty();
            $("#here").append( data ).trigger('create');
        } );
    } else {
        $('#burb').remove();
        $('#here').empty();
    }
});

Ответы [ 3 ]

0 голосов
/ 14 декабря 2011

проверить .after ()

$('#city').after(...)
0 голосов
/ 15 декабря 2011

Частично, у вас, вероятно, возникла проблема с тем, чтобы «разобраться» в том, что JQMobile использует html для генерации другого HTML во время выполнения. таким образом, список, например, может быть сгенерирован одним способом до визуализации страницы и выглядит иначе (с точки зрения HTML-тегов) после того, как рендеринг выполнен. Это немного смутило меня.

Я рекомендую заставить firebug взглянуть на то, что происходит на вашей странице, чтобы попытаться понять, с чего все начинается и чем заканчивается. Некоторые функции JQM будут вызывать функцию page (), которая будет корректно отображать элементы управления, то есть преобразовывать их в то, что вы видите на странице, а другие - нет. Знание этого должно помочь вам определить, в чем заключается ваша проблема.

С помощью комбинированных окон вы обнаружите, что ваши данные, вероятно, изменяются, и, вероятно, для их обновления потребуется вызов какой-либо функции.

0 голосов
/ 14 декабря 2011

Попробуйте:

$('#city').after(data) 

Должен сделать свое дело. Это вставит HTML в data после поля выбора с идентификатором city.

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