javascript - 同一表单上的多个依赖/级联/链接选择框

标签 javascript jquery json select chained

我通过 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>

acd2json.php

<?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 插件,以便可以对选择元素本身进行注释(同样,在“类”值中),并且 Javascript 事件处理程序可以查看它。不过,我不太确定您的代码的作用是什么。

元数据插件在这里:http://plugins.jquery.com/project/metadata

关于javascript - 同一表单上的多个依赖/级联/链接选择框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2417383/

相关文章:

javascript - 选择下拉列表时如何禁用文本字段

javascript - jquery错误$未在javascript扩展中定义

javascript - 动画进度元素值

javascript - 如何从 Chrome 的 Javascript 控制台获取输入?

android - [ flutter ]未处理的异常: NoSuchMethodError: The method '[]' was called on null

javascript - 从本地文件到 Angular 5 中的 Typescript 数组的 JSON 数组

javascript - AJAX返回值的问题

javascript - 单选按钮 Javascript 数组

javascript - 如何检查 HTML 和 JavaScript 中的复选框是否为真?

java - 验证架构是有效的 JSON 架构而不是数据