我使用此插件 http://plugins.upbootstrap.com/bootstrap-ajax-typeahead/ 在網頁上具有預先輸入功能。javascript中的範圍變量
我必須輸入文本框。
一個用於品牌卡,另一個用於模型車。
I型時,它會顯示我的豐田
當選擇豐田,我希望看到的回聲,矩陣....
,所以我設置一個變量brandId獲得選擇的值,但在ULR返回的值是
http://localhost:8080/brands/undefined/models?query=ech
,但我在手錶exression brandId = 1示出了URL之前。
$(document).ready(function() {
var brandId;
$("#brand").typeahead({
onSelect: function(item) {
debugger;
console.log(item);
//enable component
$("#model").removeAttr("disabled");
brandId = item.value;
},
ajax: {
url: 'http://localhost:8080/brands',
valueField: "brandId",
displayField: "brand"
}
});
$("#model").typeahead({
ajax: {
url: '/brands/' + brandId + '/models',
valueField: "modelId",
displayField: "model"
}
});
}
不應該'valueField:「brandId」,'是'valueField: brandId,'?你也可以刪除'var brandId;'這一行,如果你在一個函數中分配了一個未知的變量,它就會自動成爲一個全局變量。 – cari
試圖更改valueField值,但得到相同的結果。我得到的brandId沒有在url屬性中定義 –
@cari依賴全局變量是一種糟糕的做法,而且很糟糕的做法是在未警告將來的用戶或代碼維護人員的情況下這樣做。最好將它們明確地聲明爲全局變量(並將它們評論如此)。如果不這樣做,保持模塊範圍的對象會更好。 – Palpatim