Javascript 从Prototype中的选定复选框获取innerHTML文本
我需要从表单中选定的复选框中获取文本。如果表格为:Javascript 从Prototype中的选定复选框获取innerHTML文本,javascript,prototype,innerhtml,checkbox,Javascript,Prototype,Innerhtml,Checkbox,我需要从表单中选定的复选框中获取文本。如果表格为: <form action="save" method="post" name="reunform" id="reunform" > <div id="listad"> <ul id="litemsd"> <li class="litemd"><input type="checkbox" name="d1" />Number One</li> <li
<form action="save" method="post" name="reunform" id="reunform" >
<div id="listad">
<ul id="litemsd">
<li class="litemd"><input type="checkbox" name="d1" />Number One</li>
<li class="litemd"><input type="checkbox" name="d2" />Numer Two</li>
<li class="litemd"><input type="checkbox" name="d3" />Numer Three</li>
</ul>
</div>
...
</form>
但我在firebug中得到了“s未定义”
谢谢您正在查找的是li的innerHTML,而不是输入 你可以做两件事: 1,但不太漂亮:
$$('li.litemd').pluck('checked').each(function(s) {
alert(s.up().innerHtml.split('/>')[1])
});
2、将文本换行成额外的div
<li class="litemd"><input type="checkbox" name="d1" /><div>Number One</div></li>
<li class="litemd"><input type="checkbox" name="d2" /><div>Numer Two</div></li>
<li class="litemd"><input type="checkbox" name="d3" /><div>Numer Three<div></li>
您要查找的是li的innerHTML,而不是输入 你可以做两件事: 1,但不太漂亮:
$$('li.litemd').pluck('checked').each(function(s) {
alert(s.up().innerHtml.split('/>')[1])
});
2、将文本换行成额外的div
<li class="litemd"><input type="checkbox" name="d1" /><div>Number One</div></li>
<li class="litemd"><input type="checkbox" name="d2" /><div>Numer Two</div></li>
<li class="litemd"><input type="checkbox" name="d3" /><div>Numer Three<div></li>
首先,您应该在复选框文本上使用
标记。这是一个可访问性问题。使用标签还有一个额外的好处,就是可以单击标签文本以选中该框,这是许多用户(包括我自己)已经习惯的
<ul id="litemsd">
<li class="litemd">
<input type="checkbox" id="d1" name="d1" />
<label for="d1">Number One</label>
</li>
<li class="litemd">
<input type="checkbox" id="d2" name="d2" />
<label for="d2">Numer Two</label>
</li>
<li class="litemd">
<input type="checkbox" id="d3" name="d3" />
<label for="d3">Numer Three</label>
</li>
</ul>
首先,您应该在复选框文本上使用
标记。这是一个可访问性问题。使用标签还有一个额外的好处,就是可以单击标签文本以选中该框,这是许多用户(包括我自己)已经习惯的
<ul id="litemsd">
<li class="litemd">
<input type="checkbox" id="d1" name="d1" />
<label for="d1">Number One</label>
</li>
<li class="litemd">
<input type="checkbox" id="d2" name="d2" />
<label for="d2">Numer Two</label>
</li>
<li class="litemd">
<input type="checkbox" id="d3" name="d3" />
<label for="d3">Numer Three</label>
</li>
</ul>
谢谢你的回复。。。使用您的建议,我仍然得到“s未定义”。。。有什么提示吗?@xain哦,哎呀,不应该叫Pull,因为那是指LI而不是输入。。。我已经更新了我的答案谢谢你的回复。。。使用您的建议,我仍然得到“s未定义”。。。有什么提示吗?@xain哦,哎呀,不应该叫Pull,因为那是指LI而不是输入。。。我已经更新了我的答案谢谢你的回复。。。使用您的建议,我仍然得到“s未定义”。。。有什么提示吗?谢谢你的回复。。。使用您的建议,我仍然得到“s未定义”。。。有什么提示吗?