<ul id='myid' >
<li>Microsoft Office</li>
<li>Microsoft windows XP</li>
<li>Microsoft windows Vista</li>
<li>Microsoft windows 7</li>
<li>Microsoft windows server 2003</li>
</ul>
<input type='button' id='mybutton' value='submit' disabled >
jquery
$("#myid").click(function(){
$("#mybutton").attr("disabled", false);
});
单击LI中的其中一个项目后,将启用提交按钮。到现在一切都很好。但我不知道如何获取点击一个LI的值(假设在点击提交按钮后给出li项的值)
感谢
戴夫
答案 0 :(得分:3)
以下是.delegate()
$("#myid").delegate('li','click', function(){
alert( $(this).text() );
$("#mybutton").attr("disabled", false);
});
如果您要添加大量要附加处理程序的元素,这有时是更好的选择。相反,你只有一个处理程序坐在一个级别,听取内部孩子触发的事件。
答案 1 :(得分:2)
试
$("#myid li").click(function(){
var text= $(this).text(); // will get the actual text of li use .html() if you want tags in there.
alert(text)
$("#mybutton").attr("disabled", false);
});
答案 2 :(得分:1)
LI没有值属性。
您可以在LI中添加隐藏元素来存储值。你还需要点击LI,而不是UL。
<li>Microsft Office<input type="hidden" value="1" name="msoffice" /></li>
和JS:
$("#myid li").click(function(){
$("#mybutton").attr("disabled", false);
var value = $(this).find('input').val();
alert(value); // 1
});
如果你把INPUT [type = radio]放在LI里面并为文本添加LABEL会更好,所以即使没有javascript也可以使用。