難以得到這個工作。使用Chrome瀏覽器的JavaScript控制檯,我可以看到我的功能正在觸發並獲得我需要的結果,它不會填充多個選擇。下面的代碼:jQuery ajax調用不填充多個選擇
的jQuery:
$("select[name='field[one]']").change(function()
{
var optionValue = $("select[name='field[one]']").val();
$.get
('/directory/location/getData', {select:optionValue},
function(data)
{
$("select[name='subjects']").val(data);
}
);
}
);
HTML:
<select name="field[one]" id="field_one">
<option value="" selected="selected"></option>
<option value="2011">2011</option>
</select>
<select multiple id="show_results" name="subjects" />
</select>
AJAX PHP召喚:
public function executeGetData(sfWebRequest $request){
$year = $request->getParameterHolder()->get('select');
$specialties = Doctrine_Core::getTable('Specialty')->getSpecialtyArray();
$array = array();
foreach($specialties as $specialty){
$array[$specialty['id']] = '';
$count = Doctrine_Core::getTable('HistoricalSalaries')->getCountPerSpec($year, $specialty['id']);
$array[$specialty['id']] .= $specialty['name']." Count($count)";
}
return $this->renderText(json_encode($array));
}
結果是JSON編碼陣列......我認爲是問題...得到多選擇解釋正確的信息。呼叫完成並檢索數據後,目前沒有任何反應。
以下是在鉻調試所示的JSON編碼陣列結果的一個示例:
{
2: "Aerospace Medicine Count(50)",
3: "Abdominal Radiology (DR) Count(65)",
4: "Addiction Psychiatry (P) Count(46)",
5: "Adolescent Medicine (PD) Count(23)"
}
預先感謝。
你將不得不遍歷通過該'數據'JSON併爲選擇創建選項。 – tymeJV
'field [one]''你必須避免使用這種類型的名稱作爲你的元素,因爲它與jquery中的選擇器衝突,例如在這行'$(「select [name ='field [one]']」)。改變(function()'。 – dreamweiver
這些不是實際的名字...在這個例子中改變了。 – Patrick