2013-06-05 7 views
20
<input type="checkbox" name="Type[]" value="Red" checked="checked" /><span class="space-right">Red</span> 

Правильно устанавливает флажок для проверки в firefox и safari, но не в хроме. Невозможно найти информацию об этом в Интернете.checked = "checked" не работает в хромированном

Кто-нибудь знает, как это исправить?

также пытались голую checked, а также checked="true"

Не ищет решения Js, спасибо.

Редактировать: Ответ от taco ниже описывает, в чем проблема. При использовании форм и элементов ввода элементы должны быть правильно вложены в теги <td></td>, или checked="checked" не имеет эффекта. Вот пример jsfiddle, который доказывает, что это правда на хроме 29.0.1547.57: http://jsfiddle.net/LnL7b/

+4

Работает отлично для меня: http://jsfiddle.net/zwU43/ –

+1

Ну, я просто буквально скопировал эту строку и вставил ее в середине вашего вопроса, используя отладчик Chrome, и показал флажок «Проверено» с помощью word Red ... – Jonathan

+0

Я тоже использую хром, и он отлично работает. Просто используйте jquery, если вы не получите желаемых результатов. http://jsfiddle.net/HnEgT/ – Supplement

ответ

24

Я смог повторить эту проблему в Google Chrome версии 28.0.1500.95.

<table> 
    <tr> 
    <td>test</td> 
    <input type="radio" name="foo" value="bar" checked="checked"> 
    </tr> 
</table> 

Я сломал стол, ненадолго вставив переключатель. Это почему-то заставляет Google Chrome не отмечать входное радио как отмечено.

jsfiddle example - broken и jsfiddle example - working

+3

Спасибо, проблема для меня закончилась тем, что я неправильно установил флажок в таблице. – chuckieDub

+2

По-видимому, все еще проблема, если ваш вход не соответствует таблице – user1015711

-1

я знаю, что вы сказали, что вы не хотите использовать его, но JQuery вариант:

<!DOCTYPE html> 
<html> 
<head> 
    <style> 
    div { color:red; } 
    </style> 
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
</head> 
<body> 

<form> 
    <p> 
    <input type="checkbox" name="newsletter" value="Hourly" checked="checked"> 

    <input type="checkbox" name="newsletter" value="Daily"> 
    <input type="checkbox" name="newsletter" value="Weekly"> 

    <input type="checkbox" name="newsletter" value="Monthly" checked> 
    <input type="checkbox" name="newsletter" value="Yearly"> 
    </p> 
</form> 
<div></div> 

<script> 
var countChecked = function() { 
    var n = $("input:checked").length; 
    $("div").text(n + (n === 1 ? " is" : " are") + " checked!"); 
}; 
countChecked(); 

$("input[type=checkbox]").on("click", countChecked); 
</script> 

</body> 
</html> 

http://jsfiddle.net/HnEgT/

Надеюсь, это поможет некоторым вещам.

+0

OP хотел бы отметить конкретный флажок, но он (таинственный) не работает при установке Chrome - это исправление? Похоже, что подсчитывают только проверенные входы. Использование 'input.prop ('checked', true)' вместо * может * быть корректным решением, если OP был готов использовать JS. –

+2

Как этот ответ встал - голоса вне меня. Это не только не отвечает на вопрос, но также прямо противоречит тому, о чем просил OP, не JS-решение. – chuckieDub

3

checked = "checked" отлично работает в Chrome. Удостоверьтесь, что у вас нет других проблем. Любой недопустимый HTML. Нет встроенного элемента, содержащего элементы уровня блока?

+0

Скорее всего, правильный ответ - ' Красный' внутри его '' недействителен, как указано в комментариях выше. Вероятно, это просто ломается на конкретную сборку Chrome в Chrome. –

+0

Я исправил HTML и все еще имею проблему. Работает отлично на jsfiddle, но не на фактической веб-странице. – chuckieDub

+0

Возможно, вы вызываете функцию javascript где-то, которая не выбирает все флажки после pageload. Или плагин, или если он только появляется в chrome, попробуйте отключить некоторые плагины, которые вы используете. Некоторые плагины загружают нежелательные скрипты. –

-3

Проверено = "проверено" отлично работает в Chrome. Убедитесь, что нет одинакового имени. Также проверьте наличие скрытых.

+5

Не кратные одноименными именами? Это имя используется для создания групп переключателей. –

2

Попробуйте с тегом DIV

<div><input type="checkbox" name="ckkhuyenmai" id="ckkhuyenmai" checked>KHUYENMAI</div> 

Это будет хорошо.

+0

Отлично! Это работает хорошо. –

-3

Если у вас есть HTML как это:

<input type="checkbox" name="email"> 
<input type="checkbox" name="email"> 
<input type="checkbox" name="email" checked> 

Тогда никто не будет проверяться, из-за конфликтов имен.

+3

Это не реальный ответ на вопрос –

Смежные вопросы