私はjqueryの初心者で、スライディングテーブルを作成したいと思っています。元のテーブルには3つのレベルがあります。
<ul class="categories">
<li id="category1">1 element</li> //parentid=0
<li id="category2">2 element</li> //parentid=0
<ul>
<li id="category3">1 element of element id2</li> //parentid=2
<ul>
<li id="category4">1 element id3</li> //parentid=3
</ul>
</li>
</ul>
</li>
</ul>
最初のレベルの要素にはparentid=0、id = 1 ++があり、次のレベルにはネストされたparentidがあり、独自のidなどがあります。
ページは、parentid=0の1レベルのみで読み込まれます。
<ul class="categories">
<li id="category1">1 element</li> //parentid=0
<li id="category2">2 element</li> //parentid=0
</ul>
次に、liをクリックし、id IDを取得します-ファイルに移動し、mysqlを実行し、変数の新しいテーブルを取得し、それを元に戻し、LIの下でslideToggleします。
php側
if(isset($_POST['subcategory'])){
$subcategory = str_replace('category', '', $_POST['subcategory']);
echo build_category_tree($subcategory); // builds the UL tree
}
これは私にIDを返します、私はリストを返してそれを切り替える必要があります。
これで新しいULが接続されましたが、jqueryはそれを処理できず、スクリプトを以下のスクリプトで更新しましたが、まだできません。
更新されたJQuery
$(".tablecategoryname").on('click', function(){
var $a = $(this).closest('li').attr('id');
var $c = $(this).closest('li');
$.ajax({
type: "POST",
url: "functions.php",
data: {subcategory:$a},
cache: false,
success: function(data)
{
$(data).hide().insertAfter($c).slideDown(400);
}
});
});