[英]How to handle multiple Jquery + Ajax dependent select boxes in the same form
[英]javascript - multiple dependent/cascading/chained select boxes on same form
我正在通過jquery和json填充選擇框選項,但是我不確定如何在表單中處理相同鏈式選擇框的多個實例。
由於選擇框僅在需要時才呈現,因此某些記錄將具有十組鏈接的選擇框,而其他記錄則僅需要一組。 如何生成唯一選擇以支持自動填充第二選擇選項?
這是我正在使用的代碼,在此先感謝您提供的任何見解。
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
function populateACD() {
$.getJSON('/acd/acd2json.php', {acdSelect:$('#acdSelect').val()},
function(data) {
var select = $('#acd2');
var options = select.attr('options');
$('option', select).remove();
$.each(data, function(index, array) {
options[options.length] = new Option(array['ACD2']);
});
});
}
$(document).ready(function() {
populateACD();
$('#acdSelect').change(function() {
populateACD();
});
});
</script>
<?php
require_once('connectvars.php');
$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
$squery = "SELECT ACD1ID, ACD1 from ACD1";
$sdata = mysqli_query($dbc, $squery);
// Loop through the array of ACD1s, placing them into an option of a select
echo '<select name="acdSelect" id="acdSelect">';
while ($row = mysqli_fetch_array($sdata)) {
echo "<option value=" . $row['ACD1ID'] . ">" . $row['ACD1'] . "</option>\n";
}
echo '</select><br /><br />';
<select name="acd2" id="acd2">
</select>
<?php
$dsn = "mysql:host=localhost;dbname=wfn";
$user = "acd";
$pass = "***************";
$pdo = new PDO($dsn, $user, $pass);
$rows = array();
if(isset($_GET['acdSelect'])) {
$stmt = $pdo->prepare("SELECT ACD2 FROM ACD2 WHERE ACD1ID = ? ORDER BY ACD2");
$stmt->execute(array($_GET['acdSelect']));
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
}
echo json_encode($rows);
?>
如果為每個“選擇”(需要控制的每個)賦予一個“類”名稱以標識它們,那么您可以設置一個處理程序來更改所有這些內容,如下所示:
$('select.controlMe').click(function() {
// ... whatever
});
您選擇的元素將如下所示:
<select name='paramName' class='controlMe'>
現在,如果<select>
元素需要與其他 <select>
元素具有特定的關系,那么您將不得不采用一種描述方式。 您可以使用“元數據” jQuery插件,以便可以對select元素本身進行注釋(再次在“ class”值中),而Javascript事件處理程序可以查看該內容。 不過,我不確定您的代碼是做什么的。
元數據插件在這里: http : //plugins.jquery.com/project/metadata
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.