2011-03-15 57 views
0

我正在開發一個特殊用途的jQuery插件。基本上,它將頁面的內容分爲「標題」部分和「主要」部分。 「main」部分通常包含網格,「header」部分通常包含用於過濾網格內容的輸入boxen和下拉列表。該插件通過執行以下操作自動化的濾波處理:是否有任何HTML標籤看起來像<span>,但其內容是由其值屬性定義的?

var data = 
$('#header [id][value]') 
.map(function() { 
    $filter = $(this); 
    return {name: $this.attr('id'), value: $this.val()}; 
}); 
// data will be passed to $.ajax 

有時候,我需要的「報頭」部分中的特定濾波器是一個只讀字段。在這些情況下,我想將該字段顯示爲常規HTML標籤。但是,這會妨礙我的插件提取傳遞給$.ajax的參數。

一種方法來解決這個問題,將做到以下幾點:

<div id="header"> 
    ... 
    <!-- notice the duplicity --> 
    <input name="hiddenField" value="hiddenValue"/>hiddenValue 
    ... 
</div> 

(代碼像前面的代碼片段實際上不存在在我的HTML文件,它只是DOM元素的HTML表示由我的插件生成。)

但我想要一個更好的解決方案,一個不涉及重複數據。那麼,是否有任何HTML標籤看起來像<span>,但其內容是由其value屬性定義的?

回答

1

我認爲它可以通過造型<input type="text" disabled="disabled" />來完成,這將有沒有背景,也沒有國界:

input[type=disabled]{ 
    background:transparent; 
    border:0; 
    margin:0; 
    padding:0; 
} 

,您可以嘗試。

+0

非常感謝。有效。 – pyon 2011-03-15 20:49:00

相關問題