java写html的多选框,HTML复选框的checked属性的正确值是什么?

我们都知道如何在HTML中形成一个复选框输入:

我不知道 - 复选复选框的技术正确值是什么? 我看到这些都有效:

答案是无关紧要的吗? 我看到的答案,没有证据标记为正确这里从规范本身:

复选框(和单选按钮)是可由用户切换的开/关开关。 当设置了控制元素的checked属性时,开关处于“打开”状态。 提交表单时,只有“on”复选框控件才能成功。 表单中的多个复选框可以共享相同的控件名称。 因此,例如,复选框允许用户为同一属性选择多个值。 INPUT元素用于创建复选框控件。

规范作者会说什么是正确答案? 请提供基于证据的答案。

#1楼

检查

检查=“”

检查=“选中”

是等价的;

根据spec 复选框 '----ⓘchecked =“checked”或“”(空字符串)或空指定元素表示选定的控件.---'

#2楼

HTML5规范 :

disabled content属性是布尔属性。

元素上存在布尔属性表示真值,缺少属性表示false值。

如果该属性存在,则其值必须是空字符串,或者是属性的规范名称的ASCII不区分大小写匹配的值,没有前导或尾随空格。

结论 :

以下是有效,等效和真实的 :

以下是无效的 :

缺少该属性是false的唯一有效语法:

建议

如果您关心编写有效的XHTML,请使用checked="checked" ,因为是无效的XHTML(但是有效的HTML),而其他替代方案的可读性较差。 否则,只需使用因为它更短。

#3楼

这是一个非常疯狂的城镇,唯一的方法是检查错误是省略任何值。 使用Angular 1.x,您可以这样做:

如果你需要不加以控制,那就更加理智了。

#4楼

我认为这可能会有所帮助:

首先阅读Microsoft和W3.org的所有规范。

您会看到设置复选框的实际元素需要在ELEMENT PROPERTY上完成,而不是UI或属性。

$('mycheckbox')[0].checked

其次,你需要知道checked属性RETURNS一个字符串“true”,“false”

为什么这很重要? 因为您需要使用正确的类型。 字符串,不是布尔值。 解析复选框时这也很重要。

$('mycheckbox')[0].checked = "true"

if($('mycheckbox')[0].checked === "true"){ //do something }

您还需要意识到“已检查”ATTRIBUTE最初用于设置复选框的值。 一旦元素呈现给DOM,这不会做太多。 在网页加载并最初解析时,将其设置为有效。

我将使用IE的首选项:

最后,复选框混淆的主要方面是复选框UI元素与元素的属性值不同。 它们不直接相关。 如果你在.net中工作,你会发现用户“检查”一个复选框永远不会反映传递给控制器​​的实际bool值。 要设置UI,我同时使用$('mycheckbox').val(true); 和$('mycheckbox').attr('checked', 'checked');

简而言之,对于选中的复选框,您需要:

初始DOM:

元素属性:

$('mycheckbox')[0].checked = "true";

UI:

$('mycheckbox').val(true); 和

$('mycheckbox').attr('checked', 'checked');

#5楼

你想要这个我认为: checked='checked'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值