2017-03-26 1 views
1

loadクラスをクリックすると次のサブコンテナの内側にajaxをロードしようとします。しかし、それは動作しません。どうして? ロードクラスの次のサブコンテナをクリックすると色を変更しますが、新しいコンティニュアントは得られません。jQuery ajax - 次のコンテナに値を設定する

私のHTMLコード。

<body> 
<div id="wrapper"> 
<div class="load" data-id="1"></div> 
<div class="subcontainer"></div> 
<div class="load" data-id="2"></div> 
<div class="subcontainer"></div> 
<div class="load" data-id="3"></div> 
<div class="subcontainer"></div> 
</div> 
</body> 

<script> 

$(document).on("click", "#wrapper > .load", function() { 

var abc = $(this).next(".subcontainer").css({"background-color", "red"}); // It works. 

var name_id = $(this).data("id").val(); 

$.ajax({ 
url: "folder/get-data.php", 
method: "POST", 
data: {id: name_id}, 
dataType: "html", 
cache: false, 

success: function (result) { 
$("#wrapper > .subcontainer").html(result); // Do not work. 
    }, 
}); 
}); 
</script> 
+1

入力ミスは、 'subcontainer'はsubkontainer'と同じではありませんを取得します' – adeneo

+0

はい、それは単なる例です。なぜそれが動作しないアイデアはありますか? – Juergen

+0

どこがname_idですか? –

答えて

1

あなたが代わりに次のサブコンテナ

<script> 
$(document).on("click", "#wrapper > .load", function() { 
    var that = this; 
    var abc = $(this).next(".subcontainer").css({ 
     "background-color", 
     "red" 
    }); // It works. 
    var name_id = $(this).data("id").val(); 

    $.ajax({ 
     url: "folder/get-data.php", 
     method: "POST", 
     data: { 
      id: name_id 
     }, 
     dataType: "html", 
     cache: false, 

     success: function(result) { 
      $(that).next(".subcontainer").html(result); 
     }, 
    }); 
}); 
</script> 

$(this).data("id").val() $(this).data("id")

と、この行を置き換えるのすべてのサブコンテナにAJAX応答の内容を交換する私のスクリプトを使用できます方法はまた、必要な要素

あなたは以下のコードのいずれかを使用することができ、

1)$(that).nextAll(".subcontainer")[0].innerHTML = result

2)$($(that).nextAll(".subcontainer")[0]).html(result)

+0

ありがとうございます!!!!! – Juergen

+0

私は

のpタグの間に設定すればよいのでしょうか?どのように私は.subcontainerを選択できますか? – Juergen

+0

'p'または' .subcontainer'を選択しますか? –

関連する問題