私は、getJSON()
を使って、MySQLデータベースから "親"ジャンルの子ジャンルを取得するためのスクリプトを作成しました。子ジャンルのリストを表示するには、show()
関数を使用しましたが、リストはまだロードされていないため、ポップアップしてしまいます。 load()
機能(または私の場合に役立つその他の機能)を使用してリストがロードされるまで待ってからshow()
を使用するにはどうすればよいですか?jQuery - 読み込んだ後のリストを表示
function getZvrsti(id){
$.getJSON('test.php?parent='+id, function(data) {
var tmpLi;
$.each(data, function(id, name) {
tmpLi = $('<li><input type="checkbox" value="'+name['id']+'" id="zvrstId'+name['id']+'" /> <label for="zvrstId"'+name['id']+'">'+name['name']+'</label></li>');
$(".drugeZvrsti").append(tmpLi);
tmpLi = "";
});
});
}
これはgetJSON
を使用する関数であり、そしてここで私はshow()
を使用します。ここで、切り取られる:
$(".naprejZvrst").click(function(){
if(!on2){
parent = $(this).attr("id");
getZvrsti(parent);
$(".drugeZvrsti").load(function(){ //my poor example of load()
druga.show(400);
});
on2 = true;
}
else if(on2){
druga.hide(400);
on2 = false;
$(".drugeZvrsti").html('');
}
})
クラスdrugeZvrsti
は、var druga
が<div>
で、リストが表示され<ul>
リストですどこに全体が<ul>
リストです。 注:私はload()
の例を見つけましたが、リストの使用方法はほとんど説明されていませんでした。
すばらしいスクリプト!ほぼすべてが今すぐうまくいく!今問題が1つしかない:私がdrugaを表示して、それを隠して再度表示しようとすると、何も表示されず、気になる。 – ItsGreg
私のスクリプトは少し違っていましたが、今はすべて修正されています。ありがとう! – ItsGreg