drtppp75155 2014-12-30 09:56
浏览 42
已采纳

需要javascript来在下拉列表中调用隐藏值

i have 2 dropdown list , warehouse and location(called as subwarehouse in my coding).

the warehouse is the parent and location is the child. what i want is that eg, when a user clicks on warehouse ddl, this results will show:

  • Singapore
  • Malaysia
  • Thailand

as user clicks on [singapore], location will show:

  • Woodlands
  • Sembawang

**how do i make my location show results of warehouse selected?

 function einv_generateWarehouseDropdown($warehouse,$field,$subwarehouse)
    {
        //connect to database
        base_connectDatabase();
        echo "<select id=\"".$field."\" name=\"".$field."\"  style=\"width:300px\" onChange=\"getSubjDesc(this.value);showSubWarehouseDetails(this.value)\" onfocus=\"getSubjDesc(this.value);showSubWarehousehouseDetails(this.value)\">";

        //if (isset($warehouse)) {
        if (isset($warehouse) && ($warehouse != "")) {
            $warehousename = einv_getWarehouseDetail($warehouse);
            echo "<option value=\"". $warehouse ."\">". $warehousename['einv_wh_name'] ."</option>";
        } else {
            $warehouse = 0;
        }

        $getWarehouseSQL = base_executeSQL("SELECT * FROM einv_warehouse where einv_wh_id<>" . $warehouse . " 
        ORDER BY einv_wh_name");
        while($warehousedata_row = base_fetch_array($getWarehouseSQL)){
            if (base_num_rows($getWarehouseSQL)!= 0) {
                echo "<option value=\"". $warehousedata_row['einv_wh_id'] ."\">". $warehousedata_row['einv_wh_name']."</option>";
            }
        }
        echo  "</select>";

        $subwarehouse = "";
        $getSubWarehouseSQL = base_executeSQL("SELECT * FROM einv_subwarehouse  ORDER BY einv_whs_name");
        while($subwarehousedata_row = base_fetch_array($getSubWarehouseSQL)){
            if (base_num_rows($getSubWarehouseSQL)!= 0) {
                $subwarehouse.="<input type=hidden name='lstsubj_DESC_".$subwarehousedata_row['einv_whs_wh_id']."[]' id='lstsubj_DESC_".$subwarehousedata_row['einv_whs_id']."' value='".$subwarehousedata_row['einv_whs_id']."|||".$subwarehousedata_row['einv_whs_name']."'>
";
                //$subwarehouse.="<input type=hidden name='lstcomp_DESC_".$subwarehousedata_row['einv_whs_wh_id']."[]' id='lstcomp_DESC_".$subwarehousedata_row['einv_whs_id']."' value='".$subwarehousedata_row['einv_whs_id']."'>
";
            }
        }
        echo $subwarehouse;

        //close the database
        base_closeDatabase();
    }

    function einv_generateSubWarehouseDropdown($subwarehouse,$field)
    {
        //connect to database
        base_connectDatabase();

        $subwarehouse = NULL;
        echo "<select id=\"".$field."\" name=\"".$field."\"  style=\"width:200px\">";
    //  onChange=\"getSubjDesc(this.value);showSubWarehouseDetails(this.value)\" onfocus=\"getSubjDesc(this.value);showSubWarehousehouseDetails(this.value)\">";


        if (isset($subwarehouse))
        {
            $subwarehousename = einv_getSubWarehouseDetail($subwarehouse);
            echo "<option value=\"". $subwarehouse ."\">". $subwarehousename['einv_whs_name'] ."</option>";
            //$subwarehouse.="<input type=hidden name='lstsubj_DESC_".$subwarehouse."' id='lstsubj_DESC_".$subwarehouse."' value='".$subwarehousename['einv_whs_name']."'>
";
            //$subwarehouse.="<input type=hidden name='lstcomp_DESC_".$subwarehouse."' id='lstcomp_DESC_".$subwarehouse."' value='".$subwarehousename['einv_whs_id']."'>
";
        }elseif(!isset($subwarehouse))
        {
            $subwarehouse = 0;
        }
        echo "SELECT * FROM einv_subwarehouse where einv_whs_id<>" . $subwarehouse . " 
        ORDER BY einv_whs_name";
        $getSubWarehouseSQL = base_executeSQL("SELECT * FROM einv_subwarehouse where einv_whs_id<>". $subwarehouse . " 
        ORDER BY einv_whs_name");
             while($subwarehousedata_row = base_fetch_array($getSubWarehouseSQL))
             if (base_num_rows($getSubWarehouseSQL)!= 0)
             {
                 echo "<option value=\"". $subwarehousedata_row['einv_whs_id'] ."\">". $subwarehousedata_row['einv_whs_name']."</option>";
                // $subwarehouse.="<input type=hidden name='lstsubj_DESC_".$subwarehousedata_row['einv_whs_id']."' id='lstsubj_DESC_".$subwarehousedata_row['einv_whs_id']."' value='".$subwarehousedata_row['einv_whs_name']."'>
";
                // $subwarehouse.="<input type=hidden name='lstcomp_DESC_".$subwarehousedata_row['einv_whs_id']."' id='lstcomp_DESC_".$subwarehousedata_row['einv_whs_id']."' value='".$subwarehousedata_row['einv_whs_id']."'>
";
             }
        echo  "</select>";
        echo $subwarehouse;


        //close the database
        base_closeDatabase();
        }
  • 写回答

1条回答 默认 最新

  • doumao6048 2014-12-30 10:15
    关注

    You would probably need Ajax for that chained feature. A simple method for doing it without ajax is using data attribute:

    <select id="parent">
        <option value="1">Parent 1</option>
    </select>
    
    <select id="child">
        <option data-parentid="1">Child 1 from Parent 1</option>
    </select>
    

    Then you perform a change event to show or hide the desired child options.

    Code omitted for brevity. Check it out on Fiddle.

    By the way, this is just an example. You have to implement it on your code. Good luck.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?