Подтвердить что ты не робот

JQuery изменяет текст <p>программно

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

$('#profile').live( 'pageinit',function(event){
$('p#pTest').text(localStorage.getItem('gender'));

});

У меня есть абзац с текстом som в списке, который я хочу изменить программно с другой страницы после кликинга save.

EDIT: Это мой список в profile.html. Когда вы нажимаете на элемент, вы попадаете на другую страницу, где вы можете сохранить свой пол. Я хочу изменить абзац в этом списке на пол, который был изменен с другой страницы.

<ul data-role="listview"   >
    <li><a href="gender.html">
        <img src="images/gender2.jpg" />
        <h3>Gender</h3>
        <p id="pTest">Male</p>
    </a></li> </ul>

Полная страница html - это просто базовый материал с двумя переключателями и кнопкой сохранения. Вот мой код javascript (в отдельном файле):

$('#gender').live('pageinit', function(event) {

    var gender = localStorage.getItem('gender');
    var boolMale = true;
    if (gender == "female") boolMale = false;
    $('#radio-choice-male').attr("checked",boolMale).checkboxradio("refresh");
    $('#radio-choice-female').attr("checked",!boolMale).checkboxradio("refresh");

    $('#saveGenderButton').click(function() {
        if ($('#radio-choice-male').is(':checked'))
            localStorage.setItem('gender', "male");
        else localStorage.setItem('gender', "female");

        $('#pTest').html('test'); //does not work
         //$('p#pTest').text('test'); //does not work
         //$('#pTest').text('test'); //does not work
        $.mobile.changePage("profile.html");
    });
});

Я пробовал это с помощью javascript: $('p#pTest').text('test');

Однако текст не изменяется. (Я знаю, что кнопка сохранения работает). Возможно ли это?

4b9b3361

Ответ 1

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

<p id="pTest">Male</p>
<button>change</button>

<script>
$('button').click(function(){
     $('#pTest').text('test')
})
</script>

http://jsfiddle.net/CA5Cs/

Ответ 2

"сохранение" - это нечто совершенно отличное от изменения содержимого абзаца с помощью jquery.

Если вам нужно сохранить изменения, вам придется как-то записать их на свой сервер (вероятно, представление формы вместе со всеми требованиями безопасности и ввода, которые влекут за собой). Если у вас есть информация, сохраненная на сервере, то вы больше не изменяете содержимое абзаца, вы рисуете абзац с динамическим контентом (либо из базы данных, либо из файла, который ваш сервер изменил, когда вы сделали "сохранение" ),

Судя по вашему вопросу, это тема, по которой вам придется делать БОЛЬШЕ больше исследований.

Входная страница (input.html):

<form action="/saveMyParagraph.php">
    <input name="pContent" type="text"></input>
</form>

Сохранение страницы (saveMyParagraph.php) и страницы Ouput (output.php):

Вставка данных в базу данных MySQL с помощью PHP

Ответ 3

Кажется, у вас есть событие click, связанное с именем настраиваемого события "pageinit", вы уверены, что вы активировали это событие, прежде чем нажимать кнопку?

что-то вроде этого:

$("#gender").trigger("pageinit");