Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何基于第一个选择下拉菜单显示选择下拉菜单_Javascript_Jquery_Css_Drop Down Menu_Menu - Fatal编程技术网

Javascript 如何基于第一个选择下拉菜单显示选择下拉菜单

Javascript 如何基于第一个选择下拉菜单显示选择下拉菜单,javascript,jquery,css,drop-down-menu,menu,Javascript,Jquery,Css,Drop Down Menu,Menu,我希望我的问题不会打扰大家,因为我对jQuery和JavaScript比较陌生,对它了解不多 我想做一个选择下拉菜单。如果用户已从选择下拉菜单中选择了一个值,则会根据选择的值出现一个新的选择下拉菜单,如有关汽车的网站,您可以在其中选择例如宝马,然后您会看到一个新的下拉菜单,您可以从宝马汽车的型号中进行选择 对不起,有语法错误。我是荷兰人 我希望你能在这方面帮助我。正如我所说,我不熟悉jQuery和JavaScript,我希望有人能很好地解释它。首先,您的代码有一个问题,因为checkname可能

我希望我的问题不会打扰大家,因为我对jQuery和JavaScript比较陌生,对它了解不多

我想做一个选择下拉菜单。如果用户已从选择下拉菜单中选择了一个值,则会根据选择的值出现一个新的选择下拉菜单,如有关汽车的网站,您可以在其中选择例如宝马,然后您会看到一个新的下拉菜单,您可以从宝马汽车的型号中进行选择

对不起,有语法错误。我是荷兰人


我希望你能在这方面帮助我。正如我所说,我不熟悉jQuery和JavaScript,我希望有人能很好地解释它。

首先,您的代码有一个问题,因为checkname可能未定义,他不能在那里使用测试函数

两个下拉列表都应该有一个id

我建议您首先检查checkname是否未定义,然后执行下一次验证

$( "#target" ).select(function() {
  // do the call to ajax and popualte the next dropdown
});
有关更多信息,请访问 您还可以在这里了解更多关于ajax的信息

类似职位


祝您愉快

下面的代码允许用户选择一个下拉id=division来重新填充一个下拉id=branch\u no。请注意jQuery.getJSON方法-它对执行查询并返回JSON数据的PHP页面进行AJAX调用

$('#division').change(function() { 

    jQuery.getJSON( 'gAjaxJsonBranches.php?division=' + $('#division').val(), null, function(jdata) {

        var jObj = jQuery.parseJSON(jdata);

        var $el = $("#branch_no");
        $el.empty();

        $el.append($("<option></option>").attr("value", '').html('&lt;&lt;SELECT&gt;&gt;'));

        $.each(jObj.searches, function(key, value) {
            $el.append($("<option></option>").attr("value", value['id']).text(value['item']));
        });
    });


 });
gajaxjsonbranchs.php的代码,使用数据库查找:

<?php

$conn = new PDO('mysql:host=yourhost;dbname=yourdb', 'user', 'password');

$search_list = '{ "searches": [ ';

$l_sql = "SELECT b.branch_no, b.branch_name " ;
$l_sql .= "FROM branches b INNER JOIN divisions d ON b.divisions_id = d.id " ; 
$l_sql .= "WHERE d.division = '" . $_GET["division"] . "' " ; 
$l_sql .= "ORDER BY b.divisions_id, b.branch_no ";

foreach ($conn->query($l_sql) as $l_row) {

    if(trim($l_row[1]) != '') {

        $search_list .= '{' ;
        $search_list .= '"id": "' . $l_row[0] . '",' ;
        $search_list .= '"item": "' . $l_row[0] . '-' . $l_row[1] . '"' ;
        $search_list .= '},' ;
    }

}

$search_list = substr($search_list, 0, -1);

$search_list .= '] }';

header('Content-type: text/plain');
echo json_encode($search_list);
exit();
这是我的建议

给定一组值,例如:

var mainDropdownValues = {1: "one", 
                           2: "two",
                           3: "three",
                           4: "four"};
并具有辅助功能,例如:

var assignValuesToDropDown = function( dropdownSelector, valuesArray ){
    var seloption = '';

    $.each( valuesArray, function(index, value){            
         seloption += '<option value="'+ index +'">'+ value +'</option>';
    });

    $(dropdownSelector).append(seloption);        
};

这听起来像是一个家庭作业问题。这不是一个家庭作业问题,因为我没有学习任何与计算机科学相关的课程。我喜欢学习计算机科学。我已经知道xhtml5和css3。你能做的最好的事情就是自己尝试一下,然后回到这里发布你的代码,也许有人能给你提供建议。到目前为止你做了什么?我们非常愿意提供指导,但给我们一些东西,而不是一个粗略的想法和没有代码。你将从哪里获得下一个下拉列表的数据?json对象?页面上已经隐藏了一个下拉列表?如果OP对jQuery来说真的像暗示的那样是新的,那么这可能远远超出了它们的深度,OP也没有提到通过AJAX加载数据。不要说你的答案没有价值,但它可能不适用于OP目前的知识,也没有提供足够的例子来帮助自己。小提琴有一个错误,每次选择后都不会重置二级下拉列表;我不确定我是否需要在这里更正它,但如果我是你,这将是一些补充。
$().ready(function(){
    assignValuesToDropDown( "#mainDropdown", mainDropdownValues );

    // add a listener for when the value change on the main dropdown, to update
    // the second one.
    $('#mainDropdown').on('change', function(){
      // need to get the second set of values from somewhere (see demo for how I did it) 
      assignValuesToDropDown( "#secondaryDropdown", dropDownValues );         });
});