我正在开发一个特殊用途的jQuery插件。基本上,它在“标题”部分和“主要”部分中划分页面的内容。 “main”部分通常包含网格,“header”部分通常包含输入boxen和下拉列表,用于过滤网格的内容。该插件通过执行以下操作自动执行过滤过程:
var data =
$('#header [id][value]')
.map(function() {
$filter = $(this);
return {name: $this.attr('id'), value: $this.val()};
});
// data will be passed to $.ajax
有时,我需要“header”部分中的特定过滤器是readonly字段。在这些情况下,我想将该字段显示为常规HTML标签。但是,这会影响我的插件如何提取要传递给$.ajax
的参数。
解决此问题的方法是执行以下操作:
<div id="header">
...
<!-- notice the duplicity -->
<input name="hiddenField" value="hiddenValue"/>hiddenValue
...
</div>
(类似前面代码片段的代码实际上并不存在于我的HTML文件中。它只是我的插件生成的DOM元素的HTML表示。)
但我想要一个更好的解决方案,一个不涉及重复数据的解决方案。那么,是否有任何HTML标记看起来像<span>
,但其内容是由其value
属性定义的?
答案 0 :(得分:1)
我认为可以通过样式<input type="text" disabled="disabled" />
来完成,它没有背景也没有边框:
input[type=disabled]{
background:transparent;
border:0;
margin:0;
padding:0;
}
你可以尝试一下。