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

javascript-同一表单上的多个依赖/级联/链接选择框,javascript,jquery,json,select,chained,Javascript,Jquery,Json,Select,Chained,我正在通过jquery和json填充选择框选项,但我不确定如何在表单中处理同一链式选择框的多个实例 因为选择框仅在需要时呈现,所以一些记录将有十组链接的选择框,而其他记录只需要一组。如何生成唯一选择以支持辅助选择选项的自动填充 这是我正在使用的代码,我提前感谢您提供的任何见解 <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> func

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

函数populateACD(){
$.getJSON('/acd/acd2json.php',{acdSelect:$('#acdSelect').val()},
功能(数据){
变量选择=$('acd2');
var options=select.attr('options');
$('option',select).remove();
$.each(数据、函数(索引、数组){
options[options.length]=新选项(数组['ACD2']);
});
});
}
$(文档).ready(函数(){
populateACD();
$('#acdSelect')。更改(函数(){
populateACD();
});
});
如果您给每个“选择”(好的,每个您需要控制的对象)一个“类”名称来标识它们,那么您可以设置一个处理程序来更改所有这些对象,如下所示:

$('select.controlMe').click(function() {
  // ... whatever
});
<select name='paramName' class='controlMe'>
您选择的元素如下所示:

$('select.controlMe').click(function() {
  // ... whatever
});
<select name='paramName' class='controlMe'>

现在,如果
元素需要与其他
元素具有特定的关系,那么您必须有一种方法来描述它。您可以使用“metadata”jQuery插件,以便对select元素本身进行注释(同样,在“class”值中),Javascript事件处理程序就可以看到这一点。然而,我不确定你的代码到底做了什么


元数据插件就在这里:

首先要做的就是停止给他们所有相同的“id”值。谢谢你的开始。。。我应该能够通过php给他们提供唯一的id值,但是我如何让javascript补偿渲染的唯一选择的数量呢?再次感谢你,我是javascript新手,所以你的答案超出了我的理解。我想更好地解释我试图用这段代码做什么。与主记录相关的子项列表。如果其中两个子项未定义(NULL),那么我需要用户为这些值做出两个选择。然而,第二个select值依赖于第一个值,因此它级联或链接,我看到它标记了几种不同的方式。当你说“如果元素需要与其他元素有特定的关系”时,这和依赖是一样的吗?我知道这不是你想读的。。。我要回到谷歌,看看我是否能在那里找到一个例子。是的,关于“关系”,我想我的意思和你所说的“依赖”是一样的。关键是,一个
会让另一个发生事情,代码需要知道哪些
会驱动哪些其他人。有很多不同的方法可以实现这一点——比如,你可以使用一个简单的命名约定。你让它听起来很简单,但对我来说似乎很复杂。我明白你关于关系的观点,我让它处理一组选择,但是说“你可以使用一个简单的命名约定”,仍然不能帮助我理解如何在javascript中区分可以呈现的x数量的相关选择。我想我会去雇一个专家,花几个小时的时间,用我能理解的方式把它分解,这个世界上没有什么是免费的,我应该知道的。我非常感谢你今天抽出宝贵的时间。