1

スタック オーバーフローと jquery のドキュメントに関するいくつかのトピックを確認しましたが、まだスタックしています。

私は基本的に、これを(ajax/jqueryを使用して)投稿して、divのコンテンツを更新したいと考えています。

function loadSubCats(value)
{
    $.post("load_sub_cats.php",
        data: { "catid": value },
        type: "POST",
        contentType: "application/x-www-form-urlencoded",
            function(data) {
        $('#sub_categories').html("Data Loaded: " + data);
    });
}

しかし、私はこれまでに何の反応も得ていません。ページには sub_categories div が含まれており、これはフォーム イベントの onclick と呼ばれます。

<select name='cselect3' onChange='loadSubCats(this.value)' class='e1'>

したがって、基本的には、フィールド (cselect3) の値を過ぎて、load_sub_cats.php は単に $_POST[catid]; をエコーする必要があります。それでおしまい。しかし、私はそれでまったく活動をしていないので、それは私が台無しにした単純なものだと思います.

4

4 に答える 4

1

構文に問題があり$.postます。あるべき姿は次のとおりです。

function loadSubCats(value)
{
    $.post("load_sub_cats.php",{ "catid": value },
            function(data) {
        $('#sub_categories').html("Data Loaded: " + data);
    });
}

シンプルです。

于 2013-01-10T13:05:30.177 に答える
1

$.postとの構文$.ajaxが異なります。オブジェクト構文を使用する場合は、引数を単純な名前のないリストとして受け取る$.ajaxため、を呼び出します。$.post

function loadSubCats(value)
{
   $.ajax({
        url : "load_sub_cats.php",
        data: { "catid": value },
        type: "POST",
        contentType: "application/x-www-form-urlencoded",
        success: function(data) {
            $('#sub_categories').html("Data Loaded: " + data);
        }
    });
}

changeインラインではなく、イベントを直接アタッチして、loadSubCats()関数を廃止することもできます。

$(document).ready(function(){
    $('select[name=cselect3]').change(function(){
       $.ajax({
            url : "load_sub_cats.php",
            data: { "catid": $(this).val() },
            type: "POST",
            contentType: "application/x-www-form-urlencoded",
            success: function(data) {
                $('#sub_categories').html("Data Loaded: " + data);
            }
        });
    });
});
于 2013-01-10T12:46:24.890 に答える
1
function loadSubCats(value)
{
$.post("load_sub_cats.php",
    {  catid: value }, 
     function(data) {
     $('#sub_categories').html("Data Loaded: " + data); }
     );
}

「catid」ではなくcatidを送信します

于 2013-01-10T13:08:15.073 に答える
-1

2つのこと:

必須ではないタイプインポストを使用しています。

取り外した後でも機能しないので、警告してみてください-

function loadSubCats(value)
{
    $.post("load_sub_cats.php",
        data: { "catid": value },
        type: "POST",
        contentType: "application/x-www-form-urlencoded",
            function(data) {
          alert(data)
         $('#sub_categories').html("Data Loaded: " + data);
    });
}

警告によって、あなたは知るようになります-1)phpエラーがある場合、それは警告します、2)phpが正常に機能している場合、それはあなたの値で警告します。

最新のコメントに従って私の投稿を更新する:以下のように使用してみてください:

$(document).ready(function() {
  $('.e1').change(function() {
        $.post("load_sub_cats.php",
        data: { "catid": value },
        type: "POST",
        contentType: "application/x-www-form-urlencoded",
            function(data) {
          alert(data)
         $('#sub_categories').html("Data Loaded: " + data);
    });  
  })
});
于 2013-01-10T12:48:31.030 に答える