#javascript #jquery #html
#javascript #jquery #HTML
Вопрос:
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="ISO-8859-1">
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<script>
$(document).ready(function() {
$("select").change(function() {
$("select").after("<br>here");
//window.alert("We're getting somewhere!")
//document.write("#1");
});
});
</script>
<title>Query Tool</title>
</head>
<h1>Organizer Tool</h1>
<HR>
<p>Please choose search criteria:</p>
<select id=1>
<option value="MMSI">MIMSI</option>
<option value="Ship Type">shipType</option>
<option value="Anomaly Type">Anomaly Type</option>
</select>
<button type="button">Search</button>
<body><br><br><br>
<p>Testing.</p>
</body>
</html>
Я работаю над приложением, которое взаимодействует с пользователями через веб-сервер (используя jQuery) и получает строку, которая поступает со стороны браузера в виде раскрывающегося списка. После выбора этой опции пользователь должен нажать кнопку поиск, и http-запрос отправляется с этой строкой и принимается на стороне сервера, после чего он взаимодействует с базой данных и запрашивает эту строку. Найдя этот поиск, он распечатает его обратно на экран клиента в табличном формате.
Теперь моя проблема связана с выбором нескольких вариантов запроса; Как я могу отображать новое выпадающее меню каждый раз, когда пользователь выбирает один из предыдущих?
Я начинаю разбираться в обработчиках событий и понимаю, что могу вызвать событие при «изменении» и отобразить текст; но может ли кто-нибудь быть настолько любезным, чтобы объяснить, как я могу отобразить это выпадающее меню под первым после обнаружения «изменения»?
До сих пор я мог отображать строку «здесь» каждый раз, когда в раскрывающемся списке происходит изменение.
Большое спасибо, Эл
Комментарии:
1. Google для каскадных меню.
Ответ №1:
Если я правильно вас понял, вы искали что-то вроде этого:
<!DOCTYPE html>
<html lang="en-US">
<head>
<title>Query Tool</title>
<meta charset="ISO-8859-1">
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<script>
$(document).ready(function() {
$("#first_select").change(function() {
//$.post('where',{data},function (d) { //this is to post data to the server and get the answer with function
// documentation is at http://api.jquery.com/jQuery.post/
// if the answer is in JSON, decode it
var answer = '[{"ID":"1","name":"Astronomy"},{"ID":"2","name":"Microscopy"},{"ID":"3","name":"Bilogy"}]';
var d = JSON.parse(answer);
var s = $("<select id="select_two" name="select_two" />");
for(var val in d) {
$("<option />", {value: d[val].ID, text: d[val].name}).appendTo(s);
}
$("#selector_area").empty();
s.appendTo("#selector_area");
//}); // closing brackets for the post method
});
});
</script>
</head>
<body><br><br><br>
<p>Testing.</p>
<h1>Organizer Tool</h1>
<HR>
<p>Please choose search criteria:</p>
<select id="first_select">
<option value="MMSI">MIMSI</option>
<option value="Ship Type">shipType</option>
<option value="Anomaly Type">Anomaly Type</option>
</select>
<div id="selector_area"></div>
<button type="button">Search</button>
</body>
</html>
Комментарии:
1. Это самое близкое к тому, о чем я только что говорил.. Вместо того, чтобы просто повторно отображать 1 дополнительный выпадающий список, я хочу иметь возможность повторно отображать его после каждого изменения последнего выпадающего списка
2. Итак, хотите ли вы каких-либо других улучшений, чтобы получить представление о дальнейшем развитии себя? ИЛИ сейчас все в порядке?
3. Да, это было полезно.. Я смог достичь своей конечной цели.