簡體   English   中英

根據選擇填充額外的下拉列表

[英]Populate extra drop-down based on selection

首先這個代碼就像一個魅力,我的問題是添加一個功能。 我想知道如何根據選擇填充下一個下拉列表。 所以例如我選擇第一只股票'US500',它會顯示我第二次下跌的價格。 我怎樣才能做到這一點?

data.php

<?php
if(!empty($_GET['getlist']))
{
    $list = $_GET['getlist'];
    $qry='';
    switch($list)
    {
        case 'tracks':
        {
            $qry = "SELECT TABLE_NAME as allStocks FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'db_stocks' AND TABLE_ROWS > 100";
            break;
        }
    }
    if(empty($qry)){ echo "invalid params! "; exit; }

    $dbconn = mysql_connect('localhost','user','pass') 
            or die("DB login failed!");

    mysql_select_db('db_nadex_stocks', $dbconn) 
            or die("Database does not exist! ".mysql_error($dbconn));

    $result = mysql_query($qry,$dbconn)
            or die("Query $qry failed! ".mysql_error($dbconn));

    $rows = array();

    while($rec = mysql_fetch_assoc($result)) 
    {
        $rows[] = $rec;
    }
    mysql_free_result($result);
    mysql_close($dbconn);

    echo json_encode($rows);
}
?>

的index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>List Sample 1</title>
<style>
body{ font-family : Arial, Helvetica, sans-serif; font-size : 1em;}
h1 {font-size : 18pt;   color : #000066;}
h2 {font-size : 14pt;   color : #000066;}
a:hover{text-decoration : none;}
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript">
    function loadlist(selobj,url,nameattr) {
        $(selobj).empty();
        $.getJSON(url,{},function(data)
        {
            $.each(data, function(i,obj)
            {
                $(selobj).append($('<option></option>').val(obj[nameattr]).html(obj[nameattr]));
            });
        });
    }

    $(function() { 
       loadlist($('select#sel1').get(0), 'data.php?getlist=tracks','allStocks');
       loadlist($('select#sel2').get(0), 'data.php?getlist=tracks','allStocks');
       loadlist($('select#sel3').get(0), 'data.php?getlist=tracks','allStocks');
    });
</script>
</head>

<body>
<h1>Dynamically lists: multiple lists</h1>
<p>
dfgdgf 1:<select name='sdfsdf' id='sel1' size='1'></select>
</p>
<p>
cvbcvb 2:<select name='sdfsdf' id='sel2' size='1'></select>
</p>
<p>
cvbcv 3:<select name='dfgdfg' id='sel3' size='1'></select>
</p>

</body>
</html>

您需要在第一個下拉列表中添加onChange,然后將第一個下拉列表的選定索引發送到同一個函數。 在onChange中有這樣的東西。

loadlist($('select#sel2').get(0), 'data.php?getlist=prices&stock_id=' + $(this).val(),'allStocks');

然后在switch語句中添加“價格”檢查並使用stock_id 查詢價格

$_GET['stock_id']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM