Проблема с методом изменения Jquery - PullRequest
2 голосов
/ 23 мая 2011

Я использую метод jquery change() в своем коде.

 $("select,input,textarea").change(function ()
    {
        needToConfirm = true;
        alert("needToConfirm :" + needToConfirm); 
    })  

Работает нормально со всеми элементами select, input, а также textarea, за исключением следующего элемента textarea

<textarea name="myTextArea" id="myTextArea" class="mceEditor" rows="4" cols="125">${myForm.someAttribute }</textarea>

Я заметил, что другие textarea не имеют никакого динамического значения, в то время как это myTextArea имеет ${myForm.someAttribute} значение. Кажется, это причина, но я не могу понять точную причину.

Хорошо работает со следующим textarea элементом

<textarea path="studySummary" cssClass="fieldValue mediumFontSize" rows="4" cols="95" tabindex="67"/>

EDIT:
Привет всем,
Все работает нормально, но я столкнулся с новой проблемой. У меня есть некоторые элементы HTML, такие как select, input и т. Д., Которые добавляются динамически с помощью JavaScript. Как я могу привязать метод jquery change() к этому динамически добавляемому элементу? Прямо сейчас change() вызывается только для статических элементов.
EDIT2
Получил решение. Копия этого вопроса .

Ответы [ 2 ]

1 голос
/ 23 мая 2011

Я предполагаю, что из class="mceEditor" вы используете редактор tinyMCE.

Это заменит фактический элемент, и ваш код не будет работать на новом элементе.

Вот предложенный способ обработки такого случая http://tinymce.moxiecode.com/wiki.php/Configuration:onchange_callback


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

 function handleChange() {
        needToConfirm = true;
        alert("needToConfirm :" + needToConfirm); 
    }

 $("select,input,textarea").change(handleChange);

, а также при вызове инициализации tinyMCE добавьте

tinyMCE.init({
        ...
        onchange_callback : handleChange //<-- ADD THIS PART
});
0 голосов
/ 23 мая 2011

Редактор MCS для внутреннего использования вашей текстовой области с class="mceEditor" ... из-за этого при изменении содержимого текстовой области сначала вызывается событие mceEditor onChange

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