JQuery - как изменить текст Div после отправки формы - PullRequest
3 голосов
/ 24 августа 2009

У меня есть форма для ввода направлений и отображения карты Google

<form action="#" onsubmit="setDirections(this.from.value, 'address', 'en_US'); return false">

Вне формы у меня есть следующее:

Formatted Directions<div id="printdirec"><a href="http://maps.google.com/">Print Directions</a></div>

я хочу изменить значение внутри тега div 'printdirec', чтобы сказать что-то еще

Я попробовал это (что я думал, что будет работать), но это не так:

    <script type='text/javascript'>
        $(document).ready(function() {

        $(":submit").click(function(e) {
                $('div.printdirec').val('tttt')
            });

        });
</script>

есть предложения, что я делаю не так?

Ответы [ 4 ]

5 голосов
/ 24 августа 2009

Символ # обозначает идентификатор элемента. Используйте .text () для установки внутреннего текста.

$('div#printdirec').text('tttt');
3 голосов
/ 24 августа 2009

Было бы более надежно обработать событие submit, которое дает это:

$("form#id-of-your-form").submit(function(e) {
    $('#printdirec').html('tttt');
});

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

2 голосов
/ 24 августа 2009

Эта строка:

$('div.printdirec').val('tttt')

ищет любые div с классом из printdirec. Вы можете обратиться к нему по номеру id . Кроме того, вы хотите установить текст div, а не значение. Попробуйте это:

$('#printdirec').text('tttt');
1 голос
/ 24 августа 2009
$("div#printdirec").html("tttt");

Вы действительно должны перенести всю логику отправки в одно и то же место. Не нужно иметь его в разметке.

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