0
print "<Font face=\"calibri, Arial\"><table id=\"rnatable\" border=2px width=100%>";
print "<th></th>";
print "<th>a</th>";
print "<th>b</th>";
print "<th>c</th>";
print "<th>d</th>";
print "<th>e</th>";
print "<th>f</th>";
print "<th>g</th>";



while($array = mysql_fetch_array($sql_query))
{
$id=$array['a'];
print "<tr id=\"newtr\">";
print "<td><input id=\"check\" type=\"checkbox\" name=\"keyword[]\" value=\"$id\" ></td>";
print "<td>".$array['a']."</td>";
print "<td>".$array['b']."</td>";
print "<td>".$array['c']."</td>";
print "<td>".$array['d']."</td>";
print "<td>".$array['e']."</td>";
print "<td>".$array['f']."</td>";

print "<td>
<a href=\"http://localhost/rnasearch/retrieve.php?a=$id\">bla</a>
</td></tr></font>";

}

print "</table>";
}

这是我编写的用于从数据库中检索数据的 php 搜索引擎脚本的一部分,如您所见,最后一列 g 包含一个链接,单击该链接时会将用户带到第二个 php 脚本,该脚本检索该条目的附加信息,但这仅适用于单个条目,因此您可以看到我引入了复选框,以便用户可以检查任意数量的复选框并根据自己的意愿检索信息

现在要做到这一点,我创建了一个

    <div id="floatMenu"> 
<ul class="menu1"> 
<center><li><form name="senddata" method="POST" action="http://localhost/retrieve.php" style="display:inline;"><input id="fasta" type="text" class="multitext"><input name="Fasta" type="Submit" value="Retrieve Fasta"></form>

这是一个 CSS 浮动菜单....到目前为止一切都很好....一切都很好....之后我不得不编写一个 javascript 来执行此操作,并且过去 4 天我一直被困在那里搜索论坛!

这是我从某个地方找到的 javascript,它接近于我想要它做的事情

    window.onload = function () { 
var cb = document.getElementById('check');
var fasta = document.getElementById('fasta');
cb.onclick = function () {fasta.value = cb.value + ","; 
};};

此脚本仅发送表中第一个复选框的值,其他未找到,请注意,它不是第一个选中的复选框,它是表中存在的第一个复选框

我该如何解决这个问题,即使我的表中有 n 个复选框,如果用户选择这样做,他们也可以检索 n 个信息....请帮助我几乎失去了希望!

4

1 回答 1

0

ID 在一个 HTML 文档中是唯一的。因此,您不能使用它们来检索其中许多具有相同 ID 的信息。您可能必须像这样修改您的 PHP 和 JS:

$i=0;
while($array = mysql_fetch_array($sql_query))

{
$id=$array['a'];
print "<tr id=\"newtr\">";
print "<td><input id=\"check_$i\" type=\"checkbox\" name=\"keyword[]\" value=\"$id\" ></td>";
print "<td>".$array['a']."</td>";
print "<td>".$array['b']."</td>";
print "<td>".$array['c']."</td>";
print "<td>".$array['d']."</td>";
print "<td>".$array['e']."</td>";
print "<td>".$array['f']."</td>";

print "<td>
<a href=\"http://localhost/rnasearch/retrieve.php?a=$id\">bla</a>
</td></tr>";
$i++;
}

print "</table>";
}

    window.onload = function () { 
    var cb = document.getElementsByTagName('input');
    var fasta = document.getElementById('fasta');
    for (i=0;i<cb.length;++i)
    {
      if ( cb[i].type === 'checkbox' && cb[i].name === 'keyword[]')
          cb[i].onclick = function (e) {
            var str = e.target.value + ","
            if(e.target.checked)
                fasta.value += str;
            else
            {
                var ind = fasta.value.indexOf(str);
                fasta.value = fasta.value.substr(0, ind) + fasta.value.substr(ind+str.length,fasta.value.length);
            }
    }
};};

你可以在这里找到一个 jsFiddle:http: //jsfiddle.net/ZfmNw/1/

于 2012-05-12T08:28:36.960 回答