私は以下の方法でdrown boxを関連付けました
$('#cboUsuario').on('change',
function cargarAccesos(){
var username = $('#cboUsuario').val();
$.get('listEmpresasAcceso', {usuario: username, accion: 'SELECT'}, function(responseJson) {
$('#tblAccesosEmpresa').empty();
$('#tblAccesosEmpresa').append('<tr><td></td><td>Empresa</td></tr>');
for(var i = 0; i < responseJson.length; i++){
$check = '<input id="id' + responseJson[i].id + '" type="checkbox" value="' + responseJson[i].id + '" onclick="insertarAcceso(this)">';
$empresa = responseJson[i].descripcion;
$row = $('<tr><td>' + $check + '</td><td>' + $empresa + '</td></tr>');
$('#tblAccesosEmpresa').append($row);
$('#id' + responseJson[i].id).prop('checked', responseJson[i].flagAcceso == "1" ? true : false);
}
});
}
);
GET 関数では、データベースからデータをロードするサーブレットを呼び出します。これはドラウボックス
<select id="cboUsuario" onchange="cargarAccesos()">
これらがdrownボックスの値であると仮定します:
<option value="1">Default Value</option>
<option value="2">Car</option>
<option value="3">Phone</option>
<option value="4">Computer</option>
Car オプションを選択すると、change() 関数が呼び出され、GET 関数も呼び出されます。電話オプションを選択すると、change() 関数が新たに呼び出され、GET 関数も呼び出されます。しかし、Car オプションを再度選択すると、change() 関数が呼び出されますが、GET 関数は呼び出されません。GET 関数はサーブレットを呼び出さず、最初に呼び出されたときの古い値のみを返します。
誰が何が起こっているのか説明できますか?