-1

mysql レコードを表示するドロップダウン選択があります。私が欲しいのは、コンボボックスを持つ別のドロップダウン選択を作成することです。

入札.php

<script type="text/javascript" src="javascript/jquery.js"></script>
<script>
function showUser(str) {
    var $txtHint = $('#txtHint');
    if (str == "") {
        $txtHint.html('');
        return;
    }
    $txtHint.load('bid_list.php?q=' + str)
}
</script>
</head>
<body onload=showUser(str="ALL")>

<div id="main" style="width:1150px;margin:0 auto;padding:10px;">
<div id="title" style="width:1150px;margin:0 auto;text-align:center;font-size:30px;color:gray;text-shadow:2px 2px #000;font-family:Verdana, Tahoma, sans-serif;"><h3>BIDDING LIST</h3></div>
<div id="container" style="width:1100px;">
<?php
$mysqli = new mysqli("localhost", "root", "", "app");
$result = $mysqli->query("SELECT bid FROM procurement WHERE bid LIKE '13-___' OR bid LIKE '1_-___' OR bid LIKE '2_-___' GROUP BY bid ORDER BY bid");

$option = '';
while($row = $result->fetch_assoc())
{
  $option .= '<option value = "'.$row['bid'].'">'.$row['bid'].'</option>';
}
?>

<div style="text-align:center;">
<select name="users" onchange="showUser(this.value)" style="overflow:scroll;width:100px;">
        <option value="ALL" selected='ALL'>ALL</option>
        <?php echo $option; ?>
</select>
</div>
<br>

<div id="txtHint"></div>

入札リスト.php

<html>
    <head>
        <title></title>
        <link rel="stylesheet" href="css/style.css" type="text/css" id="" media="print, projection, screen" />
        <script type="text/javascript" src="javascript/jquery.tablesorter.js"></script>
        <script type="text/javascript">
        $(function() {
            $("table").tablesorter({debug: true});
        });
        </script>
<script type="text/javascript">
    $(function(){
    var tfrow = document.getElementById('tfhover').rows.length;
    var tbRow=[];
    for (var i=1;i<tfrow;i++) {
        tbRow[i]=document.getElementById('tfhover').rows[i];
        tbRow[i].onmouseover = function(){
          this.style.backgroundColor = '#f3f8aa';
        };
        tbRow[i].onmouseout = function() {
          this.style.backgroundColor = '#ffffff';
        };
    }
    });
</script>
</head>
<body>

<?php
$mysqli = new mysqli("localhost", "root", "", "app");
$q = $_GET["q"];
$where = '';
if ( $q != 'ALL' ) {
    $where = " WHERE bid='$q' ";
}
$result1 = $mysqli->query("
    SELECT bid, item_name, item_description, unit, unit_cost, quantity, supplier, po_number, po_date, counter, SUM(unit_cost*quantity) AS total_amount 
    FROM procurement 
    $where 
    GROUP BY counter ORDER BY bid
");
echo'<table id="tfhover" cellspacing="0" class="tablesorter" style="text-transform:uppercase;">
        <thead>
        <tr>
            <th title="Item Name">Item Name</th>
            <th title="Item Description">Description</th>
            <th title="Example : Pc, Pcs, Box and Etc.">Unit</th>
            <th title="Item Price">Unit Cost</th>
            <th title="Total Item Quantity">QTY</th>
            <th title="Total Price">Total Amount</th>
            <th title="Name of Supplier">Supplier</th>
            <th title="Purchase Order #">PO #</th>
            <th title="Purchase Order Date">PO Date</th>
        </tr>
        </thead>';
        echo'<tbody>';
while($row = $result1->fetch_assoc()){
if($row['bid'] != '')
 {
 echo'<tr>
            <td>'.$row['item_name'].'</td>
            <td>'.$row['item_description'].'</td>
            <td>'.$row['unit'].'</td>
            <td>'.number_format($row['unit_cost'], 2, '.', ',').'</td>
            <td>'.$row['quantity'].'</td>
            <td>'.number_format($row['total_amount'], 2, '.', ',').'</td>
            <td>'.$row['supplier'].'</td>
            <td>'.$row['po_number'].'</td>
            <td>'.$row['po_date'].'</td>
       </tr></tbody>';
       }
        }
    echo "</table>";

if (!$mysqli) {
    die('Connect Error: ' . mysqli_connect_error());
}
mysqli_close($mysqli);
    ?> 

</body>
</html>

ドロップダウン値が 13-001 に等しい場合、2 番目のドロップダウンにすべての po_number が表示されます。どうやってするか?

4

1 に答える 1

0

私はこれをすべて自分で考え出したので、それがあなたの助けになることを願っています.

ビューで:

<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="/js/dynamicSelect.js"></script>
<script>
$( document ).ready(function() {
    $("#selectToUpdate").dynamicSelect($("#changeTriggersUpdate"),"actionName.php");
});
</script>

jQuery プラグインの dynamicSelect.js を作成し、'$.fn.x =' を jQuery に追加します

$.fn.dynamicSelect = function(trigger, action) {
    var dynamicSelect   = $(this);
    trigger.on('change', function() {
        if(trigger.val() > 0){   
            $.getJSON(action, {searchVal: $(this).val()}, function(html) {
                dynamicSelect.html(html);
            });
        } else{
            dynamicSelect.html('');
        }
    });
};

私は Yii フレームワーク用にサーバー側のコードを書いたので、あまり役に立ちませんが、何をする必要があるかについてのアイデアが得られるはずです。

    public function actionVehicleSearch()
{
            $searchVal = $_REQUEST['searchVal'];
            $vehicles = Vehicle::model()->findAll("
                       customerID LIKE  ?
                        ", array('%' . $searchVal . '%'));
            $str = '';
            foreach ($vehicles as $vehicle) {
                $str .= '<option value="'. $vehicle->vID .'">'. $vehicle->VIN .'</option>';
            }

            echo CJSON::encode($str);
}
于 2013-11-17T08:03:14.053 に答える