2016-08-26 3 views
0

ボタンをクリックしてjqueryダイアログを開こうとしています。 1つのボタンと1つのダイアログでうまくいけば問題ですが、ダイアログとボタンのペアを動的に作成しました。私はダイアログを初期化するために各関数jqueryを使用していますが、動作しません。jqueryダイアログクラスセレクタ各関数

私のPHPのコード

echo '<div class="cp-button"> 
    <div class="popup" title="something"> $row[1] </div> 
    <input type="button" value="Show Code" class="btnGetCode"/>'; 
echo '</div>'; 

jQueryの

$(".popup").each(function() { 
    $(this).dialog(
    { 
     autoOpen: false, 
     width: 880, 
     height: 270, 
     show: { 
      effect: "blind", 
      duration: 1000 
     }, 
     hide: { 
      effect: "explode", 
      duration: 1000 
     } 
    }); 
}); 

$(".btnGetCode").on("click", function() { 
    $(this).prev().dialog("open"); 
}); 

答えて

0

この

$(function(){ 
    $(".cp-button").on("click", ".btnGetCode", function(){ 
    //code 
    }); 
}); 

EDITしてみてください:あなたは目に見える要素を持っている必要がある場合、ページの読み込み https://jsfiddle.net/orlandordzch/j7xfyL93/1/

+0

その – Muniba

+0

は私scenarionに応じフィドルを実装することはできません例 –

+0

で今しようと動作しない、私はjqueryの初心者。とにかく感謝、答えを得た。 – Muniba

0

はそれを考え出した:)

HTML

echo '<div class="cp-button"> 
    <div class="popup" for="tag'.$i.'"> somehing </div> 
    <input type="button" value="Show Code" class="btnGetCode" id="tag'.$i.'"/> </div>'; 

をjQueryの

var opt={  
      autoOpen: false, 
      width: 880, 
      height: 270, 
      show: { 
       effect: "blind", 
       duration: 1000 
      }  
     }; 

$(".popup").dialog(opt); 
$(".btnGetCode").click(function() { 
    $(".popup[for='"+this.id+"']").dialog("open"); 
    return false;  
});