24
<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/

4

9 回答 9

29

我能够在 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 示例 - 损坏jsfiddle 示例 - 工作

于 2013-08-20T23:24:27.047 回答
4

@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 

所以发生的事情是浏览器变得模棱两可,它只选择底部的而不是上部的。

希望这会对某人有所帮助。

享受 ;)

于 2018-08-30T13:26:52.203 回答
3

checked="checked" 在 Chrome 中运行良好。确保您没有任何其他问题。任何无效的 HTML。没有包含块级元素的内联元素?

于 2013-06-05T22:30:41.327 回答
3

尝试使用标签 DIV

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

没事的。

于 2015-03-31T10:18:50.403 回答
1

Chrome的问题和标签外的嵌套单选元素存在错误。考虑在标签form内使用输入单选或其他form

于 2020-10-10T09:32:16.847 回答
0

Checked="checked" 在 Chrome 中运行良好。确保没有多个同名。还要检查隐藏的。

于 2013-09-08T08:49:14.020 回答
0

您为没有“onChange”处理程序的表单字段提供了“已检查”道具。这将呈现一个只读字段。如果该字段应该是可变的,请使用'defaultChecked'。否则,设置“onChange”或“readOnly”。

于 2019-02-14T02:59:39.763 回答
-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/

希望这会有所帮助。

于 2013-06-05T22:20:11.900 回答
-1

如果你有这样的html:

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

然后由于名称冲突,将不会检查任何人。

于 2017-01-10T12:27:18.150 回答