Я создал функцию, которая проверяет, если элемент anny textfield в HTML, содержащий класс «txt», изменил значение, которое загрузила страница. Если текст anny был изменен, функция должна возвращать true в выражении if, иначе false. Однако им только становится ложным. Что я делаю неправильно?Вызов функции с if statments
HTML:
<h3>Handlartext1...</h3>
<textarea class="txt">Hejsan</textarea><br/><br />
<h3>Handlartext2...</h3>
<textarea class="txt">Hejsan</textarea><br/><br />
<h3>Handlartext3...</h3>
<textarea class="txt">Hejsan</textarea><br/><br />
<input id="btnClick" type="button" value="Save changes" />
Сценарий:
$('#btnClick').on("click",function() {
if(CheckTextChange()) {
alert('TRUE');
}
else {
alert('FALSE');
}
})
function CheckTextChange() {
var previousVal = $(".txt").get(0).defaultValue, currentVal = $(this).text();
//Checks if values have changed in elements containing class="txt"
$('.txt').each(function() {
//alert($(this).text()); //or $(this).text();
if (currentVal != previousVal) {
return true;
}
else {
return false;
}
})
}
ваш функция возвращает ничего (неопределенное) - что является ложным - вам нужно полностью переписать CheckTextChange –
, вы делаете 'return' из обратного вызова _each_, а не _Check Функция TextChange_ – Grundy
Я думаю, вам может потребоваться определить ваши предыдущие и текущие в каждом из них. Разве это не то, что ты собираешься делать? Посмотрите, изменились ли какие-либо из них? –