Динамический раскрывающийся список с AJAX и базой данныхJAVA

Программисты JAVA общаются здесь
Anonymous
Динамический раскрывающийся список с AJAX и базой данных

Сообщение Anonymous »

Я надеюсь, что кто -то сможет направить меня в правильном направлении. То, что я пытаюсь сделать, это создать два раскрывающихся списка, где второй (города) зависит от первого (состояния). Например, когда я нажимаю на Вашингтон, я хочу, чтобы второе раскрывающееся меню перечислило Сиэтл и Уолла Уоллал; Грузия, Атланта, Афины и т. Д. В конечном итоге моей целью является ссылка несколько списков вместе (страна -> State -> County -> City), но если я смогу получить эти два работы, я думаю, что смогу выяснить, как это сделать. < /p>

До сих пор у меня есть две базы данных. Столовый город с CityId (первичный) и CityName как столбцы и состояние таблицы с Гостидным (первичным) и именем в качестве столбцов. < /p>

код следующим образом
function createRequestObject(){
var req;
if(window.XMLHttpRequest){
//For Firefox, Safari, Opera
req = new XMLHttpRequest();
} else if(window.ActiveXObject){
//For IE 5+
req = new ActiveXObject("Microsoft.XMLHTTP");
} else {
//Error for an old browser
alert('Your browser is not IE 5 or higher, or Firefox or Safari or Opera');
}
return req;
}

//Make the XMLHttpRequest Object
var http = createRequestObject();
function sendRequest(method, url){
if(method == 'get' || method == 'GET'){
http.open(method,url);
http.onreadystatechange = handleResponse;
http.send(null);
}
}//end function send

function handleResponse(){
if(http.readyState == 4 && http.status == 200){
var response = http.responseText;
if(response){
document.getElementById("second_dropdown_code").innerHTML = response;
}
}
}

function getCityDropdown() {
var w = document.myform.mylist.selectedIndex;
var country_id = document.myform.mylist.options[w].value;
sendRequest('GET','getCites.do?stateid=' + state_id);
}





Georgia
Washington



< /code>

getcities.java

protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
try {
processRequest(request, response);

String sql = "select * from CITY";
Connection connection = datasource.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement(sql);
ResultSet resultSet = preparedStatement.executeQuery();

while (resultSet.next() ) {
//out.println(resultSet.getInt("cityid") + "
" + resultSet.getString("city") + "
" + resultSet.getString("INSTRUCTOR") + "
" + resultSet.getString("BUILDING") + "
" + resultSet.getString("ROOM") + "
");
//out.println(resultSet.getInt("cityid") + "
" + resultSet.getString("city") + "
" );
//out.println("AtlantaWalla Walla ");
}

resultSet.close();
preparedStatement.close();
connection.close();

} catch (SQLException ex) {
Logger.getLogger(getCities.class.getName()).log(Level.SEVERE, null, ex);
}
}
< /code>

Я знаю, что мне нужен какой -то оператор IF в цикле while, но я не уверен, откуда я получаю параметр, чтобы сравнить SteatId с CityId.>

Подробнее здесь: https://stackoverflow.com/questions/135 ... d-database

Вернуться в «JAVA»