1

私はscriptcase、phpコードジェネレーターを使用しています。お互いのデータに応じて 4 つの検索フィールドを持つ検索フォームがあります。私が達成したいことは次のとおりです。

  • ユーザーがstate最初のフィールドで を選択すると、2 番目のフィールドにはその が自動入力されcitiesますstate
  • が選択された後、その都市cityの 3 番目のフィールドが自動的に入力されますschools

すべてのデータは、データベース内の 1 つのテーブルに格納されています。と を使用PHPしてMySQLいます。

ヘルプ、ヒント、または方向性は大歓迎です!

皆さん、ありがとうございました!

ミレラ

4

6 に答える 6

1

私はこの解決策について考えましたが、スクリプトケースに他のphpファイルを含めることができないことを考慮します...

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
        {
        $("#monedha").change(function()            
        {
        var val=$(this).val();
        var dataString="&val="+val;


//var dataString= fatura_file;
        $.ajax
        ({
        type: "GET",
        url: "modules.php?name=Expenses_2&file=get_monedha_ajax",              
        data: dataString,
        cache: false,
        success: function(html)
        {
        $("#select_tr").empty();    
        $("#select_tr").append(html);   
        }
        });
        });
        });
        </script>
      <?php  
        echo "<td align='right' width='50%' nowrap>Monedha:</td>";
        echo "<td align='left' colspan='3'>";
        echo "<select name='monedha' id='monedha'>";
        echo "<option value='ALL' selected >Lek</option>";
        echo "<option value='EUR' $ee>Euro</option>";
        echo "<option value='USD' $eu>USD</option>";
        echo "<option value='GBP' $eg>GBP</option>";
        echo "</select>";
        echo "</td>";
        echo "</tr>";
            echo "<tr bgcolor='$bgcol[0]'>";
        echo "<td align='right' width='50%'>Llogaria:</td>";        
        echo "<td align='left' colspan='3'>";   
        if($error[11]) echo "<b><font color='red'>Please select Llogaria!</font></b><br>";
        echo "<div >";  
        $kat = $db->sql_query("SELECT * FROM nuke_banks WHERE monedha='lek' OR monedha='ALL'");
        echo "<select name='lloji' id='select_tr'>";
        while($r = $db->sql_fetchrow($kat))
                    {
                    echo "<option value='".$r['id']."'>&nbsp; - ".$r['emer']."</option>";                
                    }
        echo "</select>";
        echo "</div>";
        ?>

modules.php?name=Expenses_2&file=get_monedha_ajax2 番目のドロップダウンのコンテンツを呼び出すために使用されるphp ファイルは次のとおりです。

if( isset($_GET['val'])){
$kat = $db->sql_query("SELECT * FROM banks $_GET['val']");
    while($r = $db->sql_fetchrow($kat))
                {
                echo "<option value=".$r['id'].">&nbsp; - ".$r['emer']."</option>";              
                }
 }

スクリプトケースでそのように使用できるかどうかはわかりません... 注:これはスクリプトケースコードではありません。ほんの一例です

于 2012-10-04T09:40:41.310 に答える
0

ユーザーが州の onselect 状態を選択すると、その州の都市を返す ajax 関数が呼び出され、最初の都市に都市が入力されます。都市を選択すると、その都市の学校を返す別の ajax が呼び出されます。

コード投稿で何かを試した場合は、私がお手伝いします

于 2012-10-04T07:59:25.860 に答える
0

あなたは2つの質問をしています:

  1. 入力aが変更された場合、入力 bを更新するにはどうすればよいですか
  2. 入力bで、オートコンプリート ボックスが必要です。

    • 1: knoutoutjs ライブラリを見ることをお勧めします。これは、javascript でmvvm モデルを構築するための優れたインターフェイスを提供します。

    • 2: jquery のオートコンプリート ボックスを参照することをお勧めします

于 2012-10-04T08:01:32.743 に答える
0

問題の解決策を正確に説明している非常に優れた記事がここにあります。

この記事では、選択した州に基づいて都市を設定し、選択した国に基づいて州を設定します。これら 3 つのフィールドはすべて、DB からのデータで満たされたドロップダウン リストであり、もちろん実装ではAJAXを利用します。

この実装の唯一の欠点は、ライターmysql_*が非推奨の which を使用することです。代わりにMySQLiまたはPDO_MySQLを使用してみてください

于 2012-10-04T08:00:01.730 に答える
0
function search(){
    $q=$_GET["entry"];
    $b=array();
    $a;  //get your database values to variable a;
    if (strlen($q) > 0){
        $lq=strtolower($q);
        for($i=0; $i<count($a); $i++){
            $la=strtolower($a[$i]->state);  
            if ((substr_count($la,$lq))>0){
                $b[]=$a[$i]->state;
            }
        }
    }
    if (count($b)==0){
        $response="no name exits with ". "<b>".$q."</b>";
        echo $response;
    } else {
        $response=json_encode($b);
        echo $response;
    }
}

これは、ajax呼び出し後にデータベース値を使用して検索するためのコードです。最初のページにこれを配置し、ajax呼び出しとajaxで選択ボックスを構築します

<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
        <script type="text/javascript" language="javascript">
            function showhint(str){
                if (str.length==0){
                    document.getElementById("create").innerHTML="";
                    return;
                }
                if (window.XMLHttpRequest){
                    xmlhttp=new XMLHttpRequest();
                } else {
                    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
                }
                xmlhttp.onreadystatechange = function(){
                    if (xmlhttp.readyState==4 && xmlhttp.status==200){
                    hint=xmlhttp.responseText;
                    obj=eval('('+hint+')');
                var create = '<select>';
                for(i=0;i<obj.length;i++){
                    create += '<option>'+obj[i]+'</option>';
                }
                create += '</select>';
                }
                    jQuery('#create').html(create);
                }
                xmlhttp.open("GET","search.php?entry="+str,true);
                xmlhttp.send();
            }
        </script>
    </head>
    <body>
        country name: <input type="text" onkeyup="showhint(this.value)" size="20" />
        <br><br>
        <span id="show"></span>
   </body>
</html>

2番目のコードでは、国名をテキストとして作成しました。それを選択ボックスとして使用していると思います。ロジックは、国名に応じて、onkeyup関数の呼び出しからonselectへ、データベースレコードから$aへと異なる場合があります

于 2012-10-04T08:12:40.073 に答える