<input type="checkbox" name="Type[]" value="Red" checked="checked" /><span class="space-right">Red</span>
正确设置复选框以在firefox和safari中检查但不是chrome。在网上找不到任何关于此的信息。
任何人都知道如何解决这个问题?
还尝试过裸checked
以及checked="true"
不寻找js解决方案,谢谢。
编辑:下面的taco答案描述了问题所在。使用表单和输入元素时,元素必须正确嵌套在<td></td>
标记中,否则checked="checked"
无效。这是一个jsfiddle的例子,在chrome 29.0.1547.57上证明这是真的:http://jsfiddle.net/LnL7b/
答案 0 :(得分:27)
我能够在Google Chrome版本28.0.1500.95上复制此问题。
<table>
<tr>
<td>test</td>
<input type="radio" name="foo" value="bar" checked="checked">
</tr>
</table>
我通过不正确地嵌套单选按钮打破了桌子。这会以某种方式导致Google Chrome无法将输入广播标记为已选中。
答案 1 :(得分:3)
checked =“checked”在Chrome中正常运行。确保您没有任何其他问题。任何无效的HTML。没有包含块级元素的内联元素?
答案 2 :(得分:3)
尝试使用标签DIV
<div><input type="checkbox" name="ckkhuyenmai" id="ckkhuyenmai" checked>KHUYENMAI</div>
没关系。
答案 3 :(得分:1)
@Abhay的答案对我有用,我不知道为什么人们会否定它。我有2个无线电组共享相同的名称,如下所示,
<input type="radio" name="gender" value="male" checked> Male<br>
<input type="radio" name="gender" value="female"> Female<br>
<input type="radio" name="gender" value="other"> Other
然后再次在页面底部
<input type="radio" name="gender" value="male" checked> Male<br>
<input type="radio" name="gender" value="female"> Female<br>
<input type="radio" name="gender" value="other"> Other
所以发生的事情是浏览器变得模糊不清,它只选择底部的而不是顶部的。
希望这会对某人有所帮助。
享受;)
答案 4 :(得分:0)
您在没有'onChange'处理程序的情况下为表单字段提供了'已选中'道具。这将呈现一个只读字段。如果该字段是可变的,请使用'defaultChecked'。否则,请设置“ onChange”或“ readOnly”。
答案 5 :(得分:0)
Chrome 和在form
标记之外嵌套 radio元素存在问题的问题。
考虑在form
标签内使用输入广播或其他广播
答案 6 :(得分:-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>
希望这会有所帮助。
答案 7 :(得分:-1)
Checked =“checked”在Chrome中正常运行。确保没有相同名称的倍数。还要检查隐藏的内容。
答案 8 :(得分:-2)
如果您有这样的HTML:
<input type="checkbox" name="email">
<input type="checkbox" name="email">
<input type="checkbox" name="email" checked>
然后由于名称冲突,将不会检查任何人。