我有2个相关选择-州和学校名称。在我的HTML中,如果我第二次这样做,请选择:
<select name="school" id="school">
<option value=''></option>
</select>
状态更改时,用户仍然必须单击选择以查看学校(即,它不会填充第一个元素)。
如果我删除选项标签:
<select name="school" id="school">
</select>
我得到了第一所自动出现的学校,但是当我更改状态时,第一所学校仍然停滞不前。
我在ajax之前的onChange中尝试过此操作:
$('#schoolSelect').empty();
选择建立在这里:
function(results,status,xhr){
var $schoolSelect= $('#school');
$schoolSelect.find('option:not(:first)').remove();
if (results.length){
$.each (results, function(i){
$schoolSelect.append('<option value="' + results[i].CO_COID + '">' + results[i].CO_NAME + '</option>');
});
}
理想情况下,列表将开始为空,然后第一个值将随着第一个选择的更改而更改。如果该状态下没有学校,它将恢复为空白。
答案 0 :(得分:0)
由于上述提示,我通过执行以下操作解决了该问题:
<select name="school" id="school">
</select>
然后在jquery中添加一行:
function(results,status,xhr){
var $schoolSelect= $('#school');
$schoolSelect.find('option:not(:first)').remove();
if (results.length){
$('#school').empty(); //clears the 2nd drop down
$.each (results, function(i){
$schoolSelect.append('<option value="' + results[i].CO_COID + '">' +
results[i].CO_NAME + '</option>');
});
}