0

更新: 人々の提案を見て、私は AJAX なしで行く必要があることに気付きました。load 関数を変更して、その中に jquery コードを入れることにしました。ただし、要素が可視として表示されていないため、まだ機能しません。新しいコードは次のようになります。

<style>

.input_1 {display: none;}

.input_2 {display: none;}

.input_3 {display: none;}

</style>

<script type="text/javascript">

var numbers = $('#select_number').val();

function load(numbers) {    
if (numbers == 1) 
{$("input").hide();$(".input_1").show();} else 
if (numbers == 2) 
{$("input").hide();$(".input_1").show();$(".input_2").show();} else
if (numbers == 3) 
{$("input").hide();$(".input_1").show();$(".input_2").show();$(".input_3").show();}}

</script>

select タグは次のようになります。

<form id="form" action="" method="post">

<select id="select_number" onclick="load( numbers );" >

<option>1</option>
<option>2</option>
<option>3</option>

</select>

<input type="text" class="input_1"/>

<input type="text" class="input_2"/>

<input type="text" class="input_3"/>

</form>
4

4 に答える 4

0

解決策を見つけました。onclick 属性の load 関数内に $('#select_number').val() を追加すると、機能します。助けてくれてありがとう。

于 2012-08-06T02:38:24.523 に答える
0

このようなタスクを達成するには、jQuery を使用します。jQuery を使用すると、AJAX 呼び出しを非常に簡単に使用できます。

var myVar = $.get( "ajax_file.php",
                   "/*data to be sent to php file (optional)*/",
                   function(data) { /*whatever you want you do (or simply leave it empty if your php does what you need)*/ },
                  "text" /*data Type*/
                 );
于 2012-08-06T02:05:00.933 に答える
0
<select id="select_number" onclick="load('ajax_file.php', number_of_places );">

要素をクリックしたときの「number_of_places」の値は? あなたのコードによると、それは一度設定され、変更されることはありません。

1 つの解決策は、送信する直前に値を取得することです。

function load(thefile) {    
    var number = $('#select_number').val();
    $.get(thefile, {number : number});
}

または、関数呼び出しで値を取得します

<select id="select_number" onclick="load('ajax_file.php', $('#select_number').val());">

さらに、結果に対して何のアクションも実行していません。たぶん、あなたはそれをそのようにしたいですか?ただし、そうでない場合は、次のようなものを追加する必要があります。

$.get(thefile, {number : number}, function (data){
        alert('The results are: ' + data);
        // do something with the results
    }
);

それが役立つことを願っています!

于 2012-08-06T02:03:08.470 に答える
0

Jquery はサーバー上でリモートで実行できないため、Ajax 呼び出しの jquery は何もしません。これは jquery の性質の基本であり、サーバー側の言語ではありません。

 function load(thefile) {    
    var number_of_places = $('#select_number').val();
    $.get(thefile, {number : number_of_places}, function(numbers){
        if (numbers = 1) 
           {$("#input_1").show();} else 
        if (numbers = 2) 
           {$("#input_1").show();$("#input_2").show();} else
        if (numbers = 3) 
           {$("#input_1").show();$("#input_2").show();$("#input_3").show();}
    });
  )};

php ファイル:

  <?php

  if (isset($_GET['number']) === true && empty($_GET['number']) === false) {
       print $_GET['number'];
  }

  ?>
于 2012-08-06T02:10:44.580 に答える