1

この関数をphpで実行したいと思います。2つのフィールドがあります。1つはテキストボックスで、もう1つはドロップダウンリストです。ドロップダウンリストには、SQLの値が含まれています。ドロップダウンリストから値の1つを選択した場合、選択したオプションに従ってテキストボックスに入力します。

以下はドロップダウンリストコードです。

<td>Test Group ID</td>
 <td><select id="testgroupid" name="testgroupid" style="column-width:35">
  <option value="<?php echo $testgroupid;?>"><?php echo $testgroupid;?></option>
   <?php 
   $x=new con();
   $x->connect();
   $retval = "select distinct(Id) from testgroupmaster";
   $sql1 = mysql_query($retval) or die (mysql_error());
   while($res=mysql_fetch_array($sql1, MYSQL_BOTH)){
    ?> 
<option value="<?=$res['Id'];?>"><?=$res['Id'];?></option>
<?
}
?>
  </select></td>

IDによると、テキストボックスに入力したいのですが、どうすればよいですか?plsは友達を助けます。

<tr>
<td>Test Group Name</td>
<td><input type="text" name="testgroupname" id="zipsearch" value="<?php echo $testgroupname; ?> "></td>
</tr>
4

7 に答える 7

0

このようにしてみてください

<script>
    function selecteditem(selectedval)
    {
        jQuery.post("<?php echo JURI::root().'test.php'?>", { id: selectedval },
        function(data) {
            jQuery('.zipsearch').val(data);      
        });
    }
</script>


//test.php on the root
<?php 
    $val=$_POST['id'];

    //do what you want with $val 
    //and say final output is in variable $result than echo it

    echo $result;
?>


<!--html code here-->

<select id="testgroupid" name="testgroupid" style="column-width:35" onclick="selecteditem(this.value);">
    <option value="<?php echo $testgroupid;?>"><?php echo $testgroupid;?></option>
    <?php 
        $x=new con();
        $x->connect();
        $retval = "select distinct(Id) from testgroupmaster";
        $sql1 = mysql_query($retval) or die (mysql_error());
        while($res=mysql_fetch_array($sql1, MYSQL_BOTH))
        {
            ?> 
            <option value="<?=$res['Id'];?>"><?=$res['Id'];?></option>
            <?
        }
    ?>
</select>


<input type="text" name="testgroupname" id="zipsearch" class="zipsearch" value="<?php echo $testgroupname; ?> ">
于 2012-10-03T10:18:47.437 に答える
0

そのためにはJavaScriptが必要です。jQuery(またはお気に入りのライブラリ)を使用して、イベントリスナーをコンボボックスにバインドします。

jQueryの例:

$("#myCombo").change(function(e){
    $("myTextField").val( $("#myCombo").val() );
});
于 2012-10-03T10:15:45.400 に答える
0

jQueryに関する提案が1つあります。このライブラリを使用しているかどうかはわかりませんが、とにかく投稿しています:)

<script type="text/javascript">
     $(function() {
         $("#testgroupid").change(function{
            $("#zipsearch").text($(this option:selected).val();
         });
     });
</script>

dropbown-boxのchangeイベントで、この関数が起動し、それに応じてzipsearch-inputを設定します。

于 2012-10-03T10:16:09.853 に答える
0

$ testgroupnameがどこから来たのかはわかりませんが、ドロップダウンで選択すると、その値を取得したいと思います。クライアントで使用可能な値がない場合は、何らかの方法でサーバーから値を取得する必要があります。

ドロップダウンでオプションが選択されている場合は投稿を送信しないため、PHPを使用してテキストボックスに入力することはできません。これを解決する方法には多くの選択肢があります。私は個人的にAjaxを使用して、サーバーに投稿せずにテキストボックスに入力します。

開始するのに適した場所:http: //buffernow.com/2012/08/cascading-dropdown-ajax/

于 2012-10-03T10:16:52.350 に答える
0

ドロップダウンの選択が変更された直後にテキストボックスを埋める場合、最も簡単な方法はjavascriptを使用することです。

<td><select id="testgroupid" name="testgroupid" style="column-width:35" 
   onchange='document.getElementsByName("testgroupname")[0].value =   
    document.getElementById("testgroupid").options[e.selectedIndex].value;'> 
于 2012-10-03T10:14:56.573 に答える
0

html

  <select id="testgroupid" name="testgroupid" 
style="column-width:35" onChange=filltext();>

JavaScript

function filltext()
{
 var e = document.getElementById("testgroupid");
 var group = e.options[e.selectedIndex].text;
document.getElementById("zipsearch").value= group ;



}

あなたのphpコードはここで間違っています

<option value="<?=$res['Id'];?>"><?=`$res['Id']`;?></option>

への変更

<option value="<?=$res['Id'];?>"><?=$res['GROUP_NAME'];?></option>
于 2012-10-03T10:29:45.067 に答える