为什么属性“排序”由HTML辅助生成 - 标记消失
问题描述:
我将创建一个表,看起来像一个标题:为什么属性“排序”由HTML辅助生成<th> - 标记消失
<th field="id" formatter="" styler="" sortable="true">#Asset</th>
对于这一点,我用这个代码
$this->Html->tag('th',#Asset,'field'=>'id', [
'formatter'=>'',
'styler'=>'',
'sortable'=>'true'
]);
但stangely,我得到这个结果:
<th field="id" formatter="" styler="" sortable="sortable">#Asset</th>
如果我更改代码
$this->Html->tag('th',#Asset,'field'=>'id', [
'formatter'=>'',
'styler'=>'',
'sortable'=>''
]);
结果是更奇怪,属性 '排序' 消失:
<th field="id" formatter="" styler="">#Asset</th>
谢谢你帮我。
答
sortable
is/was a boolean attribute。这种属性false
状态通过未定义该属性来表示,并且其状态由空值或属性名称来表示。实际值true
或false
对于布尔属性无效。
对于向后/跨浏览器的兼容性,CakePHP使用后一个值变量。向HTML帮助器传递false
-ish值(例如空字符串)将导致不添加该属性。
ps。 sortable
去年一直是removed from the HTML standard,它不再存在于当前的HTML 5.1推荐标准中。
也
问题描述:
我将创建一个表,看起来像一个标题:为什么属性“排序”由HTML辅助生成<th> - 标记消失
<th field="id" formatter="" styler="" sortable="true">#Asset</th>
对于这一点,我用这个代码
$this->Html->tag('th',#Asset,'field'=>'id', [
'formatter'=>'',
'styler'=>'',
'sortable'=>'true'
]);
但stangely,我得到这个结果:
<th field="id" formatter="" styler="" sortable="sortable">#Asset</th>
如果我更改代码
$this->Html->tag('th',#Asset,'field'=>'id', [
'formatter'=>'',
'styler'=>'',
'sortable'=>''
]);
结果是更奇怪,属性 '排序' 消失:
<th field="id" formatter="" styler="">#Asset</th>
谢谢你帮我。
答
sortable
is/was a boolean attribute。这种属性false
状态通过未定义该属性来表示,并且其状态由空值或属性名称来表示。实际值true
或false
对于布尔属性无效。
对于向后/跨浏览器的兼容性,CakePHP使用后一个值变量。向HTML帮助器传递false
-ish值(例如空字符串)将导致不添加该属性。
ps。 sortable
去年一直是removed from the HTML standard,它不再存在于当前的HTML 5.1推荐标准中。
也
好见,这使得事情说清楚我。 是否有使用此属性的解决方法,因为它用于数据网格的jQuery脚本中? – Gubberrr
不要使用HTML帮助程序,也不要使用从紧凑属性列表中删除'sortable'的扩展模板(可通过helpers'templateClass'选项配置),或者修复jQuery脚本,使其正确处理布尔属性。 – ndm