2011-07-15 28 views
0

我正在使用Jquery和HTML在GUI中创建一个有序列表的网格。用户可以动态编辑每个网格单元格中的html内容。我有两个问题:动态使用HTML有序列表

  1. 如果每个li元素都有一个与之关联的.html,用户可以编辑,我怎么能在所有的li元素的迭代,以获得.html的当前值?最好不必单独命名每个元素....

  2. 我想使网格可以由用户定制。即如果用户输入他们想要的2 rows2 cols,则网格将显示2x2。我如何动态地编辑HTML在GUI上的显示方式?如果用户想要一个10x10的网格,我是否真的必须创建100 li元素,或者什么是更好的方法?

这是我对有序列表的代码。现在有12个单元。谢谢!

<ol id="selectable"> 
    <li class="ui-state-default">1</li> 
    <li class="ui-state-default">2</li> 
    <li class="ui-state-default">3</li> 
    <li class="ui-state-default">4</li> 
    <li class="ui-state-default">5</li> 
    <li class="ui-state-default">6</li> 
    <li class="ui-state-default">7</li> 
    <li class="ui-state-default">8</li> 
    <li class="ui-state-default">9</li> 
    <li class="ui-state-default">10</li> 
    <li class="ui-state-default">11</li> 
    <li class="ui-state-default">12</li> 
</ol> 
+0

你真的有2个问题(因为你已经编号)。你应该把它们作为单独的问题发布。这使我们更容易回答。 –

回答

0
  1. 你可以使用.map()从元素列表得到所有的innerHTML。下面的代码会给你一个innerHTML的列表,每个li并用逗号加入。

    $('#selectable li').map(function(v) { return $(this).html() }).get().join(', ');

  2. 我敢肯定,jQuery的manipulation methods将帮助您插入/删除元素。网格中有多少个单元格取决于您的程序;你甚至可以让他们插入1000个单元格。为什么不?