ajax复选框php
我有一个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调用. 所以基本上我在search.php中使用了两个ajax函数,一个用于搜索和填充结果的ajax,另一个用于将其更新到数据库. 解决方法
(1)您可以在搜索请求中发送复选框状态,并在PHP代码中设置已选中/未选中状态,并将其包含在您对数据库的请求中,以便它可以像
“选择业余爱好,兴趣爱好 比,在你渲染HTML的循环中 – 检查id是否在接收的id数组中,并为所需的爱好设置检查状态. (2)或者您可以在javascript中发送请求之前记住复选框状态,并在响应到来之后 – 避免删除所选复选框并检查没有重复项.但看起来这对于获得搜索结果的方式来说将是一个巨大的痛苦.所以,我认为(1)就是你所需要的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- cocos js 3.10 spine 的bug
- C++ 静态成员的类内初始化详解及实例代码
- objective-c – 如何在Xcode的自动填充弹出窗口中包含Doxyg
- c# – 如何将多个表达式传递给EFB的OrderBy?
- ruby – amazon s3和bucketwave中的随机图像名称在数据库中
- 学习FlexViewer(一)——事件和框架
- ruby – 检查方法是否是rspec中另一个方法的别名
- plsql – 如何删除(删除)Oracle AQ队列?
- c# – 使用AvalonDock 2.0时未处理的’System.ComponentMod
- oracle – 如何将内联表作为参数发送到接收表的函数?