Ответ 1
попробуйте $('#checkbox').is(':checked')
Hy!
Когда Uploadify отправляет файл в действие, мне нужно знать, проверен ли чекбокс или нет, поэтому я сделал:
$('#uploaded').uploadify({
'uploader': '/uploadify.swf',
'cancelImg': '/cancel.png',
'script': '/Interaction/Upload',
'multi': true,
'auto': false,
'method': 'post',
'scriptData': {'Checkbox': $('#checkbox').val()},
});
Но я получаю значение "on". Независимо от того, проверено или нет.
может кто-нибудь помочь? Tks.
UPDATE:
Я понял, что uploadify получает флажок при загрузке страницы. Это означает, что если я изменил флажок (или любой другой тип ввода), то uploadify получит начальное значение, в данном случае "checkbox = false".
Как отправить форму с помощью добавления?
Tks.
попробуйте $('#checkbox').is(':checked')
Значение флажка всегда 'on'. Форма HTML отправляет значение на сервер только в том случае, если установлен флажок. Если флажок не установлен, параметр запроса будет отсутствовать. Эта семантика, по-видимому, сводит к минимуму различия между флажками и переключателями.
В HTML-форме реализована следующая семантика:
if ($('#mycheckbox').is(':checked')) {
payload['mycheckbox'] = $('#mycheckbox').val();
}
Вы можете либо имитировать эту семантику в Ajax, либо отправить флаг "checked" непосредственно следующим образом:
payload['mycheckbox'] = $('#mycheckbox').is(':checked');
Я бы порекомендовал mimic'ing семантику HTML-формы. Независимо от того, что делает клиент, я бы рекомендовал следующее в код сервера:
if mycheckbox param exists and its value is either 'true' or 'on' { // pseudo code of course
// mycheckbox is checked
} else {
// mycheckbox is unchecked
}
Надеюсь, что это объяснение поможет.
Существует довольно удобный способ проверить все эти свойства элемента, такие как disabled
, checked
и т.д. с помощью функции prop
. Это также преобразует его в boolean:
$('#checkbox').prop('checked'); // -> true/false
$('#checkbox').prop('disabled'); // -> true/false
Попробуйте это
$('#checkbox').is(':checked')
Изменить:
$('#checkbox').val()
к
$('#checkbox').attr('checked')
У меня была такая же проблема и нашел это решение:
if($("input[name='yourcheckbox']").is(':checked')) {
console.log('chb checked');
} else {
console.log('chb not checked');
}
Использование:
$('#checkbox').attr('checked')
Вы можете дать
если (JQuery (это).attr( 'проверено')) { //u должен использовать этот селектор в соответствии с вашей функцией, это может быть .click.live или еще..
Спасибо