2016-05-03 10 views
2

id #countryの国がドロップダウンしています。'stepUp'は、インタフェースHTMLInputElementを実装していないオブジェクトに対して呼び出されました。

<script> 
$('#country').change(function() { 
    //var country = $(this).val(); 
    var country = $('#country').val(); 
    //alert(country); 
}); 
       $.ajax({ 
        type: "POST", 
        url: 'countrycode.php', 
        data: { country : country }, 
        success: function(data) 
        { 
         $("#tele").html(data); 
        } 
       }); 
</script> 

アラートを次のように私のコードは..ですcountrycode.phpと値がID #teleで別の入力欄に受信渡す - 私は、PHPファイルへのAJAXリクエストとして選択された値を渡すようにしようとしています(国);選択した国が表示されます。私は使用しようとしました:

var country = $(this).val(); 

あまりにも正しい警告メッセージです。

問題がである:私はエラーが発生します

data: { country : country }, 

: はTypeError:「STEPUP」私はstackoverflowの中のすべての回答を試してみました

インタフェースHTMLInputElementのを実装していないオブジェクトで呼び出さ。しかし、なぜそれが動作していないの理由を理解できませんか?

答えて

3

country変数はchangeの内部にあります。だから、それはajaxのために定義されません。私はそれがグローバルでなければならないと思う。

これを試すことができますか?

<script> 
     var country; 
     $('#country').change(function() { 
      //var country = $(this).val(); 
      country = $('#country').val(); 
      //alert(country); 
      $.ajax({ 
       type: "POST", 
       url: 'countrycode.php', 
       data: { country : country }, 
       success: function(data) 
         { 
         $("#tele").val(data); 
         } 
      }); 
     }); 
</script> 
+0

@ user3790186内部の変更機能を試しました。 #tele id input filedにデータが追加されていません。 – user3790186

+1

私はその理由を知りました。それは$( '#tele')でなければなりません。ありがとうございました。 – user3790186

+0

が更新されました。 @ user3790186 –

1

あなたはcountryフィールドが変更されたときにアヤックスでフィールドをUDPATEしようとしている場合は、それが呼び出されたときにそれはですので.change()ハンドラ内でAJAX呼び出しを配置する必要があります。

<script> 
$('#country').change(function() { 
    var country = $('#country').val(); 
    $.ajax({ 
     type: "POST", 
     url: 'countrycode.php', 
     data: { country: country }, 
     success: function (data) { 
      $("#tele").html(data); 
     } 
    }); 
}); 
</script> 

あなたが前にそれを持っていたとして、国の変数の任意の値があった前に、あなただけの起動時にAjaxの機能を呼び出したと.change()イベントが発生したときに、あなたは、すべてのAJAX機能を呼び出していませんでした。

関連する問題