Php 基于第一个下拉菜单的选定值的多个下拉菜单

Php 基于第一个下拉菜单的选定值的多个下拉菜单,php,jquery,html,arrays,drop-down-menu,Php,Jquery,Html,Arrays,Drop Down Menu,我一直在寻找类似的问题,但它们与我所寻找的有点不同 基本上,这就是我的目标: 在第一个下拉列表中填入值,例如: <form> <select id="tags" name="tags"> <option value="agent" selected="selected">agent</option> <option value="extension">extension</option> <option value="

我一直在寻找类似的问题,但它们与我所寻找的有点不同

基本上,这就是我的目标:

在第一个下拉列表中填入值,例如:

<form>
<select id="tags" name="tags">
<option value="agent" selected="selected">agent</option>
<option value="extension">extension</option>
<option value="fileversion" >fileversion</option>
<option value="pages">pages</option>
</select>
dropdown.js:

$(document).ready(function() {
$tags = $("select[name='tags']");
$operands = $("select[name='operands']");

$tags.change(function() {

if ($(this).val() == "agent") {
$("select[name='operands'] option").remove();
$("<option>=</option>").appendTo($operands);
$("<option>!=</option>").appendTo($operands);
}

if ($(this).val() == "extension") 
{
$("select[name='operands'] option").remove();
$("<option>.pdf</option>").appendTo($operands);
$("<option>.doc</option>").appendTo($operands);
}

if ($(this).val() == "tags") 
{
$("select[name='operands'] option").remove();
$("<option>operands</option>").appendTo($operands);
}

});
});
$(文档).ready(函数(){
$tags=$(“选择[name='tags']”);
$operands=$(“选择[name='operans']”);
$tags.change(函数(){
if($(this.val()==“代理”){
$(“选择[name='operans']选项”).remove();
$(“=”).appendTo($操作数);
$(“!=”).appendTo($操作数);
}
if($(this.val()=“扩展名”)
{
$(“选择[name='operans']选项”).remove();
$(“.pdf”).appendTo($操作数);
$(“.doc”).appendTo($操作数);
}
if($(this.val()==“标记”)
{
$(“选择[name='operans']选项”).remove();
$(“操作数”)。附加到($操作数);
}
});
});
变量选择对象={
代理=[“=”,“!=”],

fileversion=[“=”、“!=”、“>”、“试试这样的方法,一个填充了相应数据的数据对象

var data = {
  agent: [
    ["=", "!="], //values that are shown in 1st dropdown when agent is selected
    ["a", "b"] //values that are shown in 2nd dropdown when agent is selected
  ]
  extension: [
    ["pdf", "doc"], //values that are shown in 1st dropdown when extension is selected
    ["c", "d"] //values that are shown in 2nd dropdown when extension is selected
  ]
}
对于HTML

<select id="tags" name="tags">
  <option value="agent" selected="selected">agent</option>
  <option value="extension">extension</option>
  <option value="fileversion" >fileversion</option>
  <option value="pages">pages</option>
</select>

<select id="dropdown2" name="dropdown2">
</select>

<select id="dropdown3" name="dropdown3">
</select>
将数据传递给这样的函数以创建下拉选项

function setDropDown1(data) {
  $("#dropdown1").html(""); //clear options
  for (var i = 0; i < data.length; i++) {
    $("#dropdown1").append("<option value='" + data[i] + "'>" + data[i] + "</option>");
  }
}
函数设置下拉列表1(数据){
$(“#dropdown1”).html(“”;//清除选项
对于(变量i=0;i
谢谢,但是当选择一个值时,下拉列表似乎不会填充。注意:我确实将html中的
dropdown2
dropdown3
更改为
操作符和
并且JS中的相同值不太匹配-可能是打字错误,但我更改了
setDropDown1
setDropDown2
setOperators
setValues
以及类似的函数中,
setOperators
#operators
等。你能把代码放在我能看到的地方吗?jsfiddle.net?我没有测试它,但它应该是这样工作的。嗨,恢复到你发布的代码,只做了一些小改动:谢谢,但是你的伪代码没有解释如何使用其他下拉列表。
<select id="tags" name="tags">
  <option value="agent" selected="selected">agent</option>
  <option value="extension">extension</option>
  <option value="fileversion" >fileversion</option>
  <option value="pages">pages</option>
</select>

<select id="dropdown2" name="dropdown2">
</select>

<select id="dropdown3" name="dropdown3">
</select>
$("#tags").change(function() {
  setDropDown1(data[$(this).val()][0]);
  setDropDown2(data[$(this).val()][1]);
});
function setDropDown1(data) {
  $("#dropdown1").html(""); //clear options
  for (var i = 0; i < data.length; i++) {
    $("#dropdown1").append("<option value='" + data[i] + "'>" + data[i] + "</option>");
  }
}