Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从Prototype中的选定复选框获取innerHTML文本_Javascript_Prototype_Innerhtml_Checkbox - Fatal编程技术网

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未定义”。。。有什么提示吗?