如何通过单击按钮获取所选的UL / LI Box ID - Jquery

时间:2014-01-27 08:40:41

标签: javascript jquery html listbox

我正在尝试通过按钮Click获取由li组成的列表框的值。我搜索了网络,但大多数解决方案都是使用列表框本身的onClick按钮。 我试过这样的事情。

列表框:

echo("</head><body><ul id='selectable'>");

while($satz != null)
{
  echo "<li class='ui-widget-content' id='userid' value='$satz[ID]'>$satz[username]</li>";
  $satz=mysql_fetch_assoc($cursor);
}
echo("</ul></body></html>");

JQuery的:

$(document).ready(function()
{
$("#del").click(function()
{
var id = document.getElementById('selectable li').value;
alert(id);

但ID未定义,该怎么办?感谢。

1 个答案:

答案 0 :(得分:1)

ul元素不像select元素那样工作,即它没有选定的选项(值)。这就是为什么其他解决方案建议收听li元素的点击事件的原因。您应该使用select元素而不是ul元素:

$("#del").click(function() {
   var id = $('#selectable').val();
});

或者将特定className之类的标识符添加到目标li元素:

$("#del").click(function() {
   var id = $('#selectable li.selected').attr('value');
});

话虽如此,请注意您的标记无效,因为:

  1. 您对多个元素使用相同的ID,ID应该是唯一的。这里应该使用类。
  2. value不是li元素的有效属性,您应该使用data-*属性。然后,您可以使用jQuery .data()方法读取值。假设您有data-value属性来读取值,您可以编写代码:$('#selectable li.selected').data('value')
  3. 您正在使用它的内容生成body元素,还包括另一个页面。