加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ajax复选框php

发布时间:2020-12-16 02:48:05 所属栏目:百科 来源:网络整理
导读:我有一个php-ajax页面,用户在search.php中写入搜索字符串,列表在getsearch.php中回显.并使用ajax在search.php中显示getsearch.php的结果但每行都有复选框. getsearch.php $q = $_GET["q"];$sql = "select hobbyid,hobby from hobbies where hobby LIKE '%".$
我有一个php-ajax页面,用户在search.php中写入搜索字符串,列表在getsearch.php中回显.并使用ajax在search.php中显示getsearch.php的结果但每行都有复选框.

getsearch.php 

$q = $_GET["q"];

$sql = "select hobbyid,hobby from hobbies where hobby LIKE '%".$q."%' ";

if($result=mysql_query($sql))
{
    while($row=mysql_fetch_assoc($result))
    { 
         $v = $row['hobbyid'];
         echo $row['hobby'] . '<input type="checkbox" name="hobby[]" value='.$v.'>';
    }
}

你可以在下面的代码中看到,每次更改都会触发这个sql(onkeyup).我保留了一个复选框以获得一系列选定的爱好.这些选定的值传递给updatehobby.php.

search.php

echo '<form action="updatehobby.php" method="POST">
echo 'Search:<input type="text"  onkeyup="showSearch(this.value)" />
<div id="txtSearch" >HERE THE RESULTS FROM getsearch.php are shown</div>
<input type="submit></form>';

因此,当用户编写新的搜索字符串时,列表会发生变化,因此取消选中前面的复选框.那么即使搜索发生变化,我如何保留以前的复选框并显示它们?

经过一天的尝试,我最终成功地做到了这一点!

请参阅用户在search.php中输入搜索字符串,并将查询传递给getsearch.php,然后从中回显结果,此结果显示在search.php中

因此,我没有使用复选框,而是插入了一个按钮.所以现在每行都有一个按钮而不是
复选框.

<button type="button" onClick="submitform(<?php echo $row['hobbyid']; ?     >);">Add hobby</button>

现在在search.php中我再次使用了另一个ajax函数(submitform)来处理按钮的onclick调用.
当按下按钮添加爱好时,调用ajax函数submitform并插入爱好.

所以基本上我在search.php中使用了两个ajax函数,一个用于搜索和填充结果的ajax,另一个用于将其更新到数据库.

解决方法

(1)您可以在搜索请求中发送复选框状态,并在PHP代码中设置已选中/未选中状态,并将其包含在您对数据库的请求中,以便它可以像

“选择业余爱好,兴趣爱好
?hobby LIKE’%“.$q.”%’或hobbyid in(list_of_hobbies_received_in_request)“

比,在你渲染HTML的循环中 – 检查id是否在接收的id数组中,并为所需的爱好设置检查状态.

(2)或者您可以在javascript中发送请求之前记住复选框状态,并在响应到来之后 – 避免删除所选复选框并检查没有重复项.但看起来这对于获得搜索结果的方式来说将是一个巨大的痛苦.所以,我认为(1)就是你所需要的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读