我剛剛開始使用JQuery和Javascript,並調整嵌套複選框輸入以利用jstree複選框行爲。在意識到每個項目必須是由jstree代碼識別的錨標記之後,我現在不確定如何從POST表單提交項目中生成值。以前他們是複選框輸入,我希望能夠以這種方式保留它們,以便在JavaScript關閉時表單仍然可以正常工作。在錨標記中包裝輸入會導致每個項目有兩個複選框,一個是由JStree控制的,另一個忽略。我認爲這不是要走的路。從JStree複選框列表創建HTML帖子表單的值
任何有關如何實現這一目標的建議將受到感謝。
我啓動JStree用下面的配置代碼 -
$(document).ready(function()
{
$('.nested-category').jstree({
ui: { theme_name : "checkbox" },
plugins : ["checkbox", "themes", "html_data", "ui" ]
});
}
);
下面是其中JStree代碼的效果,但不能提交值形式的簡化版本。
<form method="post" action="">
<div class="nested-category">
<ul class="">
<li><a href="#">group1</a>
<ul>
<li><a href="#">subgroup1</a>
<ul>
<li><a href="#">item1</a></li>
<li><a href="#">item2</a></li>
<li><a href="#">item3</a></li>
</ul>
</li>
<li><a href="#">subgroup2</a>
<ul>
<li><a href="#">item4</a></li>
<li><a href="#">item5</a></li>
<li><a href="#">item6</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#">group2</a>
<ul>
<li><a href="#">subgroup3</a>
<ul>
<li><a href="#">item7</a></li>
<li><a href="#">item8</a></li>
<li><a href="#">item9</a></li>
</ul>
</li>
<li><a href="#">subgroup4</a>
<ul>
<li><a href="#">item10</a></li>
<li><a href="#">item11</a></li>
<li><a href="#">item12</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<input class="form-submit" type="submit" name="submit" value="submit">
</form>
是的,我開始認爲現在我已經走下了JStree之路,如果Javascript被關閉,不可能讓這個表單作爲一個普通的HTML表單來運行。 – bulkhead 2010-09-06 09:52:54
好吧,這很明顯:)問題是你真的需要這種形式,你有沒有JavaScript的用戶?沒有太多網站關心沒有JS的ppl ... – Stefanvds 2010-09-06 10:26:31
這個項目對可達性標準有一定的義務,所以事情應該在沒有JS的情況下運行。如果可以調整jstree代碼來使標記節點而不是錨點,那麼問題就可以解決。這個表格是用PHP動態構建的,所以我並不熱衷於將它完全重新調整爲由JS控制。我希望能夠讓JStree適應標籤。 – bulkhead 2010-09-06 13:19:31