动态下拉列表,带有空格的$ _GET

时间:2013-11-24 17:08:32

标签: javascript php mysql

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

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

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

$choice = $_GET['choice'];

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

2 个答案:

答案 0 :(得分:0)

在JS中发送它时需要对其进行编码:

encodeURIComponent($(this).val()); // will produce something like "Option%20Two"

所以,看起来应该是这样的:

(`$("#second-choice").load("getter.php?choice=" + encodeURIComponent($(this).val()) );`)

答案 1 :(得分:0)

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

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