javascript - 动态下拉菜单,$_GET 带空格

标签 javascript php mysql

我使用 Javascript/jquery 创建了一个动态下拉菜单,并使用 php mysql 进行填充:

$("#first-choice").change(function() {
    $("#second-choice").load("getter.php?choice=" + $(this).val());
    });

它工作得很好,除非第一个选定的选项有两个单词而不是一个(中间有空格)例如:“选项”工作正常,第二个列表填充,“选项二”不起作用,第二个列表为空。这是我的 getter.php 代码:

$choice = $_GET['choice'];

$sth = $db->prepare("SELECT code FROM sets WHERE name='$choice'");
$sth->execute();
$choicecode = $sth->fetchColumn();

最佳答案

放入查询字符串时需要对空格进行编码。 jQuery 可以为您做到这一点:

$("#first-choice").change(function() {
    $.get("getter.php", { choice: $(this).val() }, function(data) {
        $("#second-choice").html(data);
    });
});

关于javascript - 动态下拉菜单,$_GET 带空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20177333/

相关文章:

javascript - Ajax - 处理正确的数组以传递给 PHP

mysql - Haproxy根据请求中的域名对Mysql连接进行负载均衡

javascript - 如何在 angularJS 中单击 "Add"按钮添加一行

javascript - 打印 div 内容时占用空间和空白页

php - php ://input is not equal to the data parsed and placed in $_POST中的数据

php - 在mysql中使用UTF-8的终极方法

mysql - 删除操作-具有多对多关系的多个表

PHP - 通过 mysql 行向前和向后移动

javascript - 如何在不重新加载的情况下实现无缝向下滚动到下一页?

javascript - 将本地 JSON 加载到 AngularJS 中的 Jasmine/Karma 单元测试中