0

こんにちは、私は厳密にスクリプト言語に問題があります: 私は php で 2 つのドロップダウン リスト ボックスを使用しています。ただし、ユーザーはリストからプロジェクトを選択し、プロジェクトに基づいてドロップダウンリストにモジュールリストをロードします。

プロジェクト値を選択するためにjavascriptを試しました。クライアント側の変数値をサーバー側の変数に渡す方法がわかりません。私のコード

view.php

<table class="row-fluid">
<tr>
<td><label for="taProj"><?php echo t('Project')?>:</label></td>
<td><select name="taProj" id="taProj" onchange= "checkField(this.value)">
<option value="" >-------------------------</option>
<?php   foreach ($tap as $row){?>
<option value="<?php echo $row['proj_id']; ?>" ><?php echo $row['proj_name'];?></option>
<?php } ?>
</select></td>
<input type="hidden" name="pid" id="pid">
</tr>                   
<tr>                        
<td><label for="taModule"><?php echo t('Module Name')?>:</label></td>
<td><select name="taModule" id="taModule" >
<option value="" >-------------------------</option>
<?php //$myv = $_POST['modid'];
$myvar = print "<script type='text/javascript'>document.getElementById('pid')</script>";
foreach ($tam as $row){ 
if($row['proj_id'] == $myvar){?>
<option value="<?php echo $row['mod_id']; ?>" ><?php echo $row['mod_name'];?></option>
<?php } }?>
</select></td>
</tr>

スクリプト コード:

function checkField(val){       
    document.getElementById("pid").value = val;
    //alert(document.getElementById("pid").value);
}

コントローラーからの $tap と $tam

私の質問は、ここで使用してこのタスクを達成するスクリプトの方法です。これを行う方法を私に提案してください....

ありがとうクマール

4

3 に答える 3

2

$("#setResult").load('thepageurl.php?pid='+document.getElementById("pid").value);

このコードは、GET メソッドによってpidをpageurl.phpに送信し、結果を取得してsetResult要素に入れます。

これは例です: http://www.w3schools.com/jquery/ajax_load.asp

注: HTML ヘッダーに JQuery ライブラリを含める必要があります。

于 2013-10-10T12:10:11.753 に答える
0

これは ajax 呼び出しを使用して行うことができます。それは次のように機能します

  • データを渡すメソッドを伝える必要があります。 (メソッド名WhereUWantToGo)

  • 渡すデータを指定する必要があります。
    (param=document.getElementById("pid").value)

  • return 関数の結果をどこに置くかを指定する必要があります。 (id setResult の div)

function checkField(val)
{       
        document.getElementById("pid").value = val;
       $.ajax({
                    url: "/MethodNameWhereUWantToGo",
                    type: "POST",
                    data: { param:document.getElementById("pid").value },
                    success: function (result) {                    
                        $("#setResult").html(result);

                    }
                });
    }
于 2013-10-10T12:00:11.733 に答える
0

クマール

基本的に、このコードをブラウザーにロードすると、php コードは表示されず、for ループからのすべての値が取得され、html タグでフォーマットされます。したがって、タップを設定し、タップごとに選択して、値を取得し、ajax を使用して値を取得できます。

于 2013-10-10T12:51:42.893 に答える