0
我想要Javascript,我正在尋找一個表單。我發現了一些我編輯過的代碼,但它不起作用。我試圖做的是一個有2個選擇下拉的表單。當訪問者從第一個下拉列表中選擇一個服務時,第二個下拉列表將自動更新每個服務的員工姓名。我已經將代碼升級爲jsFiddle。網址是http://jsfiddle.net/mrtxR/。我認爲這很簡單,但找不到任何教程和指南。Ajax表單。更新第二選擇當從第一個選項中選擇一個選項
// The data that the service should return
// JSFiddle will echo it back for us on that URL
var doctors = {
success: true,
doctors: [
{
id: 71,
name: "George"
},
{
id: 72,
name: "James"
}
]
}
// This is what your JSON from PHP should look like
var jsonDoctors = JSON.stringify(doctors);
console.log(jsonDoctors);
// Bind change function to the select
jQuery(document).ready(function() {
jQuery("#services").change(onServiceChange);
});
function onServiceChange()
{
var serviceId = jQuery(this).val();
$.ajax({
url: '/echo/json/',
type: 'post',
data: {
serviceId: serviceId,
json: jsonDoctors // jsFiddle echos this back to us
},
success: onServicesRecieveSuccess,
error: onServicesRecieveError
});
}
function onServicesRecieveSuccess(data)
{
// Target select that we add the states to
var jTargetSelect = jQuery("#doctors");
// Clear old states
jTargetSelect.children().remove();
// Add new states
jQuery(data.doctors).each(function(){
jTargetSelect.append('<option value="'+this.id+'">'+this.name+'</option>');
});
}
function onServicesRecieveError(data)
{
alert("Could not get services. Please try again.");
}
我使用Firefox和它看起來是工作的罰款。 – eran
問題是,我不知道如何設置「喬治」顯示何時選擇「服務2」,顯示「服務3」時選擇「詹姆斯」。我看到的是,無論我選擇哪種服務,它都會顯示兩個名稱。 – manosim
我想我需要做一個比較,比較當前選擇的服務ID和每個醫生的服務ID(我需要添加到數據中)。 – manosim