使用Javascript创建列表

时间:2011-03-16 21:29:52

标签: javascript html forms html-lists parameter-passing

我正在查询三个数据库,并希望在三个可点击列表中显示其列。我希望用户从这些列表中选择多个列,然后在按下按钮时,只有所选列和它们来自的列表/表将被传递给函数进行处理。

我在网上找到了一些用表格做的代码。没有表格,有没有办法做到这一点?我习惯于在Java中使用JList,并且对javascript没什么经验。

执行类似于我尝试对一个列表执行操作的代码(

):

http://www.mredkj.com/tutorials/tutorial006.html

编辑:我刚刚发现了Javascript ListBoxes。我想我只是想用它们。在创建列表时似乎不可避免地使用表单。

2 个答案:

答案 0 :(得分:1)

jQuery是一个非常简单的JavaScript库,用于执行此类操作(以及一般用户交互)。

例如,如果你想选择一个表的第二列并将单元格的数据存储到一个数组中,这个简单的代码就可以了(我因为犯错而臭名昭着,所以如果它没有错误就更正):

var elements = [];

$('#id_of_your_table tr td:eq(1)').each(function()
{
  elements.push($(this).html());
});

现在,elements包含表格第二列的值。


我想,你正在谈论普通的HTML <select>。将其粘贴到HTML文档中以查看我的意思。

<select id="my_listbox" multiple="yes" size="6">
  <option>Foo 1</option>
  <option>Foo 2</option>
  <option>Foo 3</option>
  <option>Foo 4</option>
  <option>Foo 5</option>
  <option>Foo 6</option>
</select>

要获取所选值,此代码应该有效:

var values = [];

$('#my_listbox :selected').each(function(i, selected)
{
  textvalues[i] = $(selected).text();
});

如果您的用户无法弄清楚如何检查项目,那么编写您自己的可检查列表框真的很容易。在这里查看我的示例:http://jsfiddle.net/2hDVR/2/

答案 1 :(得分:1)

Javascript不会'制作列表'。列表是HTML。您的JavaScript可以呈现HTML,但我认为您无论如何都是从服务器获取此内容。

我可能会通过HTML执行此操作:

<ul>
    <li><label><input type="checkbox" id="column1" />column 1</label></li>
    <li><label><input type="checkbox" id="column2" />column 2</label></li>
    <li><label><input type="checkbox" id="columnn" />column n</label></li>
</ul>

我不确定你想要在没有表格的情况下做什么。无论哪种方式,您都需要将数据传递回服务器以获取数据以呈现已完成的表。这就是形式的用途。