我有一个问题,我整个上午都在挣扎,所以我觉得是时候得到一些帮助了!我有一个javascript函数,它将用户输入的值输入到自动完成框中,使用AJAX将该值发送到查询数据库的php脚本,然后使用可能的选项填充以下框。问题是,当我在所选选项中进行硬编码时,一切正常:
var selected="Ed Clancy";
但不是从盒子里拿出来的,所以:
var selected = this.getValue();
我已经尝试使用警告框调试它,并且两个框中都有相同的字符串,所以我完全不解!有任何想法吗?完整代码如下:
$(riderSelected).on('selectionchange', function(event){
var selected = this.getValue();
//var selected="Ed Clancy";
alert(selected);
$('#nap4').removeAttr('disabled');
$('#nap4').empty();
$('#nap4').append($("<option>-select-</option>"));
$.ajax({
type: "GET",
url: 'getbiketype.php',
data: { name: selected },
success: function(data) {
console.log(data);
$('#nap4').append(data);
}
});
});
答案 0 :(得分:2)
根据 magicsuggest 文档 - http://nicolasbize.com/magicsuggest/doc.html,你可能会这样做
var selected = this.getValue()[0];
如果您不允许多项选择
答案 1 :(得分:0)
按照我在下面为您写的更改您的代码。
<强>代码强>
$(riderSelected).on('change', function (event) {
var selected = this.value;
alert(selected);
$('#nap4').removeAttr('disabled');
$('#nap4').empty();
$('#nap4').append($("<option>-select-</option>"));
$.ajax({
type: "GET",
url: 'getbiketype.php',
data: {name: selected},
success: function (data) {
console.log(data);
$('#nap4').append(data);
}
});
});