JQuery AJAXを使用するのはこれが初めてなので、構文についてはあまり詳しくありません。現在、データベースから一連の値を取得し、ドロップダウンボックスにデータを入力しています。AJAXで行う必要があるのは、ドロップダウンボックスから選択するときに、他の3つのフィールドにハードコードされた情報を入力することです。AJAXが正しく機能するようになったら、データベースにクエリを実行し、ドロップダウンからの選択に基づいて結果を返したいと思います。
<div class="panel-body">
<div class="form-group">
<label for="nomName" class="col-sm-3 control-label">Name:</label>
<div class="col-sm-8">
<input type="text" class="form-control" data-validation="required" name="nomName" id="nomName" placeholder="Name" maxlength="50">
</div>
</div>
<div class="form-group">
<label for="nomTitle" class="col-sm-3 control-label">Title:</label>
<div class="col-sm-8">
<input type="text" class="form-control" data-validation="required" name="nomTitle" id="nomTitle" placeholder="Title" maxlength="50">
</div>
</div>
<div class="form-group">
<label for="nomDept" class="col-sm-3 control-label">Department:</label>
<div class="col-sm-8">
<select class="form-control" name="nomDept" id="nomDept">
<option value="" disabled selected>Select a Department...</option>
<option value="Building Services">Building Services</option>
<option value="Construction Management">Construction Management</option>
</select>
</div>
</div>
<div class="form-group">
<label for="nomGUID" class="col-sm-3 control-label">AU Email/GUID:</label>
<div class="col-sm-8">
<select class="form-control" name="nomGUID" id="nomGUID">
<option value="" disabled selected>Select a Person...</option>
<?php
while($row = mssql_fetch_array($user_list)){
echo "<option value=\"" . $row['id'] . "\">" . $row['id'] . "</option>";
}
?>
</select>
</div>
</div>
</div>
そして、これが私のAJAXです。私はそれが正しくないことを知っているので、誰かがそれを提供するならば、私は誰かの解決策の背後にあるいくつかの説明をいただければ幸いです。ありがとう。
$(function() {
var options = {
"Option 1": "value 1",
"Option 2": "value 2",
"Option 3": "value 3"
}
$('#nomGUID').change(function() {
$.ajax({
url: 'test.php',
success: function('#options') {
$('#nomDept').empty();
$('#nomTitle').html('Test AJAX');
}
})
}
}
「成功」は、コールバックハンドラーを渡すためのものです。ハンドラーは、無名関数または名前付き関数のいずれかで実装できます。あなたが持っている構文は違法であり、どちらもしません。
匿名関数について読む:http://www.w3schools.com/js/js_function_definition.asp
test.phpへのAJAX呼び出しが何らかのJSON応答を返すと想定しています。例えば:
{
"title": "New Title",
"foo": "bar",
"baz": "qux",
"departments": [
"Building Services",
"Construction Management"
]
}
名前付き関数を使用して、成功コールバック関数を実装できます。コールバック内で、オプションを設定します。
$.ajax({
url: 'test.php',
success: myAjaxSuccessHandler
});
function myAjaxSuccessHandler(data) {
$('#nomDept').empty().append(
$('#nomTitle').html(data.title);
$.map(departments, function(element) {
return $('<option></option>').val(element).text(element);
})
);
}
次のような無名関数を使用することもできます。
$.ajax({
url: 'test.php',
success: function(data) {
$('#nomTitle').html(data.title);
$('#nomDept').empty().append(
$.map(departments, function(element) {
return $('<option></option>').val(element).text(element);
})
);
}
});
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加