jquery对话框类选择器的每个函数

时间:2016-08-26 18:27:32

标签: jquery each jquery-ui-dialog

我试图点击按钮打开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");
});   

2 个答案:

答案 0 :(得分:0)

试试这个

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

编辑:页面加载时需要有可见元素 https://jsfiddle.net/orlandordzch/j7xfyL93/1/

答案 1 :(得分: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;    
});