У меня есть следующее, которое срабатывает при изменении флажка.Почему это, если/else не работает в jquery для меня?
$(document).ready(function() {
$("#reviewed").change(function(){
if ($('#reviewed:checked').val() !== null) {
$.ajax({
url: "cabinet_reviewed.php?reviewed=yes",
cache: false,
success: function(html){
$("#reviewDate").replaceWith(html);
}
});
} else {
$.ajax({
url: "cabinet_reviewed.php?reviewed=no",
cache: false,
success: function(html){
$("#reviewDate").replaceWith(html);
}
});
}
});
})
Это работает только один раз. Я хочу посмотреть, когда будет установлен флажок и какое значение оно будет изменено.
UPDATE: Я изменить код вокруг следующего (на основе замечаний у всех)
$(document).ready(function() {
$("#reviewed").click(
function() {
var rURL = 'cabinet_reviewed.php?reviewed=';
if ($("#reviewed").is(":checked"))
rURL = rURL + "yes";
else
rURL = rURL + "no";
alert (rURL);
$.ajax({
url: rURL,
cache: false,
success: function(html){
$("#reviewDate").replaceWith(html);
}
});
});
})
Файл cabinet_reviewed.php просто вторит значение из $ _GET [» review '] С помощью этого обновленного кода предупреждение показывает правильный URL, но второй клик не запускает .ajax. Нужно ли мне что-то делать, чтобы снова запустить .ajax?
По какой-то причине $ ('# review'). Is (': checked'), похоже, не работает для меня. – Jason
Отредактировано, чтобы добавить полный пример. Это работает в FF/IE последовательно. Вы используете другой браузер, который я мог бы попробовать? – JonathanK
Я нахожусь на FF 3 на MAC - ваш пример работает с предупреждением, но мой оригинал с .ajax не работает - он работает только при первом щелчке. – Jason