2012-12-12 95 views
0

我有一個從數據庫返回的數據的方法,然後創建一個HTML列表標籤的形式;jQuery的.VAL()的工作,但內容則不會顯示

options.Append("<li value=\"" + reader["CIStatusID"].ToString() + "\"><a href=\"#\" class=\"filterOption checkable\">"); 
options.Append(reader["Status"].ToString() + "</a></li>"); 

然後在我的javascript我給你這名爲「過濾式」的UL標籤

<div id="gearOptionsViewCaseFiles" style="display: none;"> 
    <ul> 
     <li><a href="#">Filter by Status</a> 
      <ul id="filterType"> 
      </ul> 
     </li> 
    </ul> 
</div> 

這是我如何填充我的動態生成的列表項UL標籤:

success: function (data) { 
    $('#filterType').val('<li value="0" class="filterOption checkable checked"><a href="#">All<img class="checkedimage" src="Images/tick.png" width="12" height="12"></a></li>' + data); 
} 

在調試器中,「filterType」的值是生成的列表項,但在網站上,列表從不出現。我似乎無法找出原因,如果是指定生成的HTML項目的「過濾式」 UL標籤它不顯示

編輯: 李物品的外觀,當它被添加到UL像:

<li value="0" class="filterOption checkable checked"><a href="#">All<img class="checkedimage" src="Images/tick.png" width="12" height="12"></a></li> 
+5

使用'追加()'或'HTML()'函數 – Eru

回答

4
$('#filterType').val() 

應該

$('#filterType').html() 

.val()是表單元素。該UL不是一個表單元素。所以.val()將不會工作。

使用.html()

var html = '<li value="0" class="filterOption checkable checked"><a ' 
      + 'href="#">All<img class="checkedimage" src="Images/tick.png" ' 
      + ' width="12" height="12"></a></li>' + data; 


$('#filterType').html(html); 

OR 

document.getElementById('filterType').innerHTML = html; 
+0

謝謝。我不知道。實際上我會盡可能快地標記爲答案 – john

+1

,'.val()'不僅僅是輸入類型的元素。選擇框和textareas也工作。 – think123

+0

我通常會使用document.getElementById,但jQuery的快捷鍵看起來很光滑 – john

3

.val只能用於表單元素,AFAIK。嘗試使用.html代替,就像這樣:

$('#filterType').html('<li value="0" class="filterOption checkable checked"><a href="#">All<img class="checkedimage" src="Images/tick.png" width="12" height="12"></a></li>' + data); 

中,你可以使用.val()是一個案例,如下:

HTML:

<input type="text" id="textbox" /> 

的jQuery:

$("#textbox").val("foo"); // Assigns foo to the value of the textbox 

基本上,.val()增加了一個value屬性爲選定的元素,它將修改表單元素的值,但不對其他元素進行任何操作。

N.B..val()與JavaScript中的.value不同,因爲.val()也適用於textareas,並且自動使用.innerText()代替。

3

改爲使用.html。不.val

.val()的方法主要用於獲得/設置形式的元素的值,例如輸入,選擇和textarea的