pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

<small id='7zHJt'></small><noframes id='7zHJt'>

        <bdo id='7zHJt'></bdo><ul id='7zHJt'></ul>

    1. <i id='7zHJt'><tr id='7zHJt'><dt id='7zHJt'><q id='7zHJt'><span id='7zHJt'><b id='7zHJt'><form id='7zHJt'><ins id='7zHJt'></ins><ul id='7zHJt'></ul><sub id='7zHJt'></sub></form><legend id='7zHJt'></legend><bdo id='7zHJt'><pre id='7zHJt'><center id='7zHJt'></center></pre></bdo></b><th id='7zHJt'></th></span></q></dt></tr></i><div class="ptfxlj7" id='7zHJt'><tfoot id='7zHJt'></tfoot><dl id='7zHJt'><fieldset id='7zHJt'></fieldset></dl></div>
      <legend id='7zHJt'><style id='7zHJt'><dir id='7zHJt'><q id='7zHJt'></q></dir></style></legend>
      <tfoot id='7zHJt'></tfoot>
      1. 根據另一個下拉列表填充下拉列表的最佳和最簡

        What#39;s the best and easiest way to Populate a dropdown based on another dropdown(根據另一個下拉列表填充下拉列表的最佳和最簡單的方法是什么)
          <tbody id='E3IHx'></tbody>
          <bdo id='E3IHx'></bdo><ul id='E3IHx'></ul>
          <legend id='E3IHx'><style id='E3IHx'><dir id='E3IHx'><q id='E3IHx'></q></dir></style></legend>
            • <tfoot id='E3IHx'></tfoot>

              1. <small id='E3IHx'></small><noframes id='E3IHx'>

                  <i id='E3IHx'><tr id='E3IHx'><dt id='E3IHx'><q id='E3IHx'><span id='E3IHx'><b id='E3IHx'><form id='E3IHx'><ins id='E3IHx'></ins><ul id='E3IHx'></ul><sub id='E3IHx'></sub></form><legend id='E3IHx'></legend><bdo id='E3IHx'><pre id='E3IHx'><center id='E3IHx'></center></pre></bdo></b><th id='E3IHx'></th></span></q></dt></tr></i><div class="5j5b7fx" id='E3IHx'><tfoot id='E3IHx'></tfoot><dl id='E3IHx'><fieldset id='E3IHx'></fieldset></dl></div>

                1. 本文介紹了根據另一個下拉列表填充下拉列表的最佳和最簡單的方法是什么的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  很簡單,我有一個動態填充數據的下拉菜單:

                  Very simply, I have one dropdown menu dynamically populated with data:

                  SQL 代碼

                  $querycourse = "SELECT course, COUNT(course) AS count FROM acme WHERE course IS NOT NULL GROUP BY course ";
                  $procc = mysqli_prepare($link, $querycourse);
                  $queryc =  mysqli_query($link, $querycourse) or die(mysqli_error($link));
                  

                  PHP 代碼

                  echo "<select name='course[]' value='' multiple='multiple' size=10>";
                              // printing the list box select command
                              echo "<option value=''>All</option>";
                              while($ntc=mysqli_fetch_array($queryc)){//Array or records stored in $nt
                              echo "<option value="$ntc[course]">"$ntc[course]"</option>";
                              /* Option values are added by looping through the array */
                              }
                              echo "</select>";// Closing of list box 
                  

                  我需要的是另一個下拉列表,其中填充了基于第一個下拉框中選擇的數據.

                  What I need is another dropdown that is populated with data based on a selection from the first dropdown box.

                  我正在使用 MySQL、PHP、Javascript,也可以(一推)使用 jQuery.我沒有使用 Ajax 的經驗.

                  I am using MySQL, PHP, Javascript and can also (at a push) use jQuery. I have no experience in Ajax.

                  有人愿意為我指出正確的方向嗎?!

                  Would anyone be kind enough to point me in the right direction?!

                  提前致謝,一如既往,

                  荷馬.

                  推薦答案

                  第一種和最好的方法(如果您有或可能有足夠的選項特定數據)
                  使用 AJAX.我認為,與其他實現相同的方法相比,這是最簡單的方法.使用Jquery 實現AJAX.它讓 AJAX 變得輕而易舉!在這里,我為你分享我的一塊蛋糕 -

                  First and Best Method (If you have or may have enough option specific data)
                  Use AJAX. It is the easiest way, I think, compared to the other ways to implement the same. Use Jquery to implement AJAX. It makes AJAX a piece of cake! Here I share my piece of cake for you -

                  以下是您需要的大致完整代碼 -

                  Following is roughly the complete code you need -

                  • 像這樣在您的第一個選擇中調用一個 javascript 函數 populateSecondDropdown() -

                  • Call a javascript function populateSecondDropdown() on your first select like this -

                      echo "<select  name='course[]' value='' multiple='multiple' size=10 onchange='populateSecondDropdown(this, 'http://yourprojectUrl','Any Subject');'>";
                              // printing the list box select command
                              echo "<option value=''>All</option>";
                              while($ntc=mysqli_fetch_array($queryc))
                              {//Array or records stored in $nt
                                  echo "<option value="$ntc[course]">"$ntc[course]"</option>";
                                  /* Option values are added by looping through the array */
                              }
                              echo "</select>";// Closing of list box 
                  

                2. 在populateSecondDropdown()函數內部定義一個ajax調用 -

                3. Define an ajax call inside inside the populateSecondDropdown() function -

                  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
                  
                  <script  type="text/javascript">  
                      function populateSecondDropdown(object,baseUrl)
                      {
                          $.ajax({
                          type: "POST", 
                          url: baseUrl+"/ajax/fetchOptions.php", 
                          data: { id_option: $(object).val(), operation: 'get_subjects' },
                          dataType: "json",
                          success: function(data) 
                          {
                              //Clear options corresponding to earlier option of first dropdown
                             $('select#secondDropdown').empty(); 
                             $('select#secondDropdown').append('<option value="0">Select Option</option>');
                                     //Populate options of the second dropdown
                             $.each( data.subjects, function() 
                             {    
                                 $('select#secondDropdown').append('<option value="'+$(this).attr('option_id')+'">'+$(this).attr('option_name')+'</option>');
                             });
                             $('select#secondDropdown').focus();
                          },
                              beforeSend: function() 
                              {
                                  $('select#secondDropdown').empty();
                                  $('select#secondDropdown').append('<option value="0">Loading...</option>');
                              },
                              error: function() 
                             {
                                $('select#secondDropdown').attr('disabled', true);
                                $('select#secondDropdown').empty();
                                 $('select#secondDropdown').append('<option value="0">No Options</option>');
                            }
                          });
                       }
                  </script>
                  

                  • 最后是在 AJAX 處理器文件 fetchOptions.php 中獲取第二個下拉選項的查詢.您可以在此處使用 $_POST['id_option'] 來獲取其下的選項.此處的數據庫查詢應獲取每個選項的 option_idoption_name 字段(正如 $.each 中的 jquery 代碼所預期的那樣)并返回一個json 編碼的數組是這樣的:-

                    • And finally the query to fetch 2nd dropdown's options in the AJAX processor file fetchOptions.php. You can use $_POST['id_option'] here to fetch the options under it. The database query here should fetch the option_id and option_name fields for every option (as expected by the jquery code inside $.each) and return a json encoded array like this:-

                      return json_encode(array("subjects" => $resultOfQuery));
                      

                    • 第二種方法(僅使用 javascript)

                      • 獲取按第一個下拉列表的字段分組的第二個下拉列表的所有數據.例如.讓我們學習第一個下拉菜單中顯示的課程和第二個顯示的課程下的科目

                      • Fetch all the data for the second dropdown grouped by the field of the first dropdown. E.g. let's take courses displayed in the first dropdown and subjects under courses displayed in the 2nd

                      • 創建第二個下拉列表的所有選項.在創建如下選項時分配與課程相同的課程:-

                      • Create all the options of the 2nd dropdown. Assign classes equal to the courses while creating the options like this:-

                      $querycourse = "SELECT course, subject FROM subjects WHERE subject IS NOT NULL GROUP BY course ";
                      $procc = mysqli_prepare($link, $querycourse);
                      $queryc =  mysqli_query($link, $querycourse) or die(mysqli_error($link));
                      
                      echo "<select  name='subjects[]' value='' multiple='multiple' size=100>";
                      echo "<option value=''>All</option>";
                                  while($ntc=mysqli_fetch_array($queryc))
                                  {//Array or records stored in $nt
                                      echo "<option value="$ntc[subject]" class="$ntc[course]">"$ntc[subject]"</option>";
                                  }
                                  echo "</select>";
                      

                    • 然后為第一個下拉列表定義 onchange="displaySubjectsUnderThisCourse(this);" 并編寫此 javascript :-

                    • Then define onchange="displaySubjectsUnderThisCourse(this);" for the first dropdown and write this javascript :-

                       function displaySubjectsUnderThisCourse(object)
                       {
                           var selectedCourse = $(object).val();
                          //Display the options with class = the selected option from first dropdown
                          $("."+selectedCourse).removeClass("hidden"); //define a class hidden with display:none;
                      
                         $('option:not(.selectedCourse)').hide();  // hide all options whose class is other than selectedCourse - Not sure whether this will work or not, though
                      
                        //Deselect any previous selections
                        //If single option selection is allowed
                        $('select#secondDropdown option').attr('selected', false); 
                        // or following if multiple selection is allowed (needed for IE)
                        $('select#secondDropdown option').attr('selectedIndex', -1); 
                      
                      
                      }
                      

                      這里的基本思想是隱藏/顯示選項組,但我的代碼可能有錯誤.

                      The basic idea here is to hide/display option groups but my code may have errors.

                      最后,請注意,第二種方法(獲取所有選項值)只有在您的數據量有限并且非常確定將來數據量總是會減少的情況下才會更好.但是,由于沒有人能夠對未來如此確定,因此建議始終使用 AJAX 方法.

                      Finally, please note, the second method (fetching all the option values) would be better only if you have limited small amount of data and are very sure there will always be less data in future. But, since nobody can be so certain about the future, it is advisable to use the AJAX method always.

                      這篇關于根據另一個下拉列表填充下拉列表的最佳和最簡單的方法是什么的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                      【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!
                4. 相關文檔推薦

                  Deadlock exception code for PHP, MySQL PDOException?(PHP、MySQL PDOException 的死鎖異常代碼?)
                  PHP PDO MySQL scrollable cursor doesn#39;t work(PHP PDO MySQL 可滾動游標不起作用)
                  PHP PDO ODBC connection(PHP PDO ODBC 連接)
                  Using PDO::FETCH_CLASS with Magic Methods(使用 PDO::FETCH_CLASS 和魔術方法)
                  php pdo get only one value from mysql; value that equals to variable(php pdo 只從 mysql 獲取一個值;等于變量的值)
                  MSSQL PDO could not find driver(MSSQL PDO 找不到驅動程序)
                  <i id='9eekC'><tr id='9eekC'><dt id='9eekC'><q id='9eekC'><span id='9eekC'><b id='9eekC'><form id='9eekC'><ins id='9eekC'></ins><ul id='9eekC'></ul><sub id='9eekC'></sub></form><legend id='9eekC'></legend><bdo id='9eekC'><pre id='9eekC'><center id='9eekC'></center></pre></bdo></b><th id='9eekC'></th></span></q></dt></tr></i><div class="df5nvlp" id='9eekC'><tfoot id='9eekC'></tfoot><dl id='9eekC'><fieldset id='9eekC'></fieldset></dl></div>
                    <tbody id='9eekC'></tbody>
                  <tfoot id='9eekC'></tfoot>

                  • <bdo id='9eekC'></bdo><ul id='9eekC'></ul>

                          • <legend id='9eekC'><style id='9eekC'><dir id='9eekC'><q id='9eekC'></q></dir></style></legend>

                            <small id='9eekC'></small><noframes id='9eekC'>

                            主站蜘蛛池模板: 韦伯电梯有限公司| 座椅式升降机_无障碍升降平台_残疾人升降平台-南京明顺机械设备有限公司 | 仓储货架_南京货架_钢制托盘_仓储笼_隔离网_环球零件盒_诺力液压车_货架-南京一品仓储设备制造公司 | 新疆乌鲁木齐网站建设-乌鲁木齐网站制作设计-新疆远璨网络 | 广州展台特装搭建商|特装展位设计搭建|展会特装搭建|特装展台制作设计|展览特装公司 | CPSE安博会| 光纤测温-荧光光纤测温系统-福州华光天锐光电科技有限公司 | 找培训机构_找学习课程_励普教育 | 电动高尔夫球车|电动观光车|电动巡逻车|电动越野车厂家-绿友机械集团股份有限公司 | 工业电炉,台车式电炉_厂家-淄博申华工业电炉有限公司 | 智慧水务|智慧供排水利信息化|水厂软硬件系统-上海敢创 | 气象监测系统_气象传感器_微型气象仪_气象环境监测仪-山东风途物联网 | 钢绞线万能材料试验机-全自动恒应力两用机-混凝土恒应力压力试验机-北京科达京威科技发展有限公司 | PVC地板|PVC塑胶地板|PVC地板厂家|地板胶|防静电地板-无锡腾方装饰材料有限公司-咨询热线:4008-798-128 | 5nd音乐网|最新流行歌曲|MP3歌曲免费下载|好听的歌|音乐下载 免费听mp3音乐 | 护栏打桩机-打桩机厂家-恒新重工 | 钢化玻璃膜|手机钢化膜|钢化膜厂家|手机保护膜-【东莞市大象电子科技有限公司】 | 主题班会网 - 安全教育主题班会,各类主题班会PPT模板 | 民用音响-拉杆音响-家用音响-ktv专用音响-万昌科技 | 开云(中国)Kaiyun·官方网站 - 登录入口 | 高压直流电源_特种变压器_变压器铁芯-希恩变压器定制厂家 | 百度网站优化,关键词排名,SEO优化-搜索引擎营销推广 | 江西自考网| 南京PVC快速门厂家南京快速卷帘门_南京pvc快速门_世界500强企业国内供应商_南京美高门业 | 深圳希玛林顺潮眼科医院(官网)│深圳眼科医院│医保定点│香港希玛林顺潮眼科中心连锁品牌 | PCB接线端子_栅板式端子_线路板连接器_端子排生产厂家-置恒电气 喷码机,激光喷码打码机,鸡蛋打码机,手持打码机,自动喷码机,一物一码防伪溯源-恒欣瑞达有限公司 假肢-假肢价格-假肢厂家-河南假肢-郑州市力康假肢矫形器有限公司 | 硅PU球场、篮球场地面施工「水性、环保、弹性」硅PU材料生产厂家-广东中星体育公司 | 附着力促进剂-尼龙处理剂-PP处理剂-金属附着力处理剂-东莞市炅盛塑胶科技有限公司 | 水平垂直燃烧试验仪-灼热丝试验仪-漏电起痕试验仪-针焰试验仪-塑料材料燃烧检测设备-IP防水试验机 | 纸张环压仪-纸张平滑度仪-杭州纸邦自动化技术有限公司 | 股指期货-期货开户-交易手续费佣金加1分-保证金低-期货公司排名靠前-万利信息开户 | uv固化机-丝印uv机-工业烤箱-五金蚀刻机-分拣输送机 - 保定市丰辉机械设备制造有限公司 | 航空障碍灯_高中低光强航空障碍灯_民航许可认证航空警示灯厂家-东莞市天翔航天科技有限公司 | 干粉砂浆设备_干混砂浆生产线_腻子粉加工设备_石膏抹灰砂浆生产成套设备厂家_干粉混合设备_砂子烘干机--郑州铭将机械设备有限公司 | 高防护蠕动泵-多通道灌装系统-高防护蠕动泵-www.bjhuiyufluid.com慧宇伟业(北京)流体设备有限公司 | 橡胶接头_橡胶软接头_套管伸缩器_管道伸缩器厂家-巩义市远大供水材料有限公司 | 电子海图系统-电梯检验系统-智慧供热系统开发-商品房预售资金监管系统 | 北京模型公司-军事模型-工业模型制作-北京百艺模型沙盘公司 | ERP企业管理系统永久免费版_在线ERP系统_OA办公_云版软件官网 | 轻型地埋电缆故障测试仪,频响法绕组变形测试仪,静荷式卧式拉力试验机-扬州苏电 | 合金ICP光谱仪(磁性材料,工业废水)-百科|