JQuery函数在Jquery弹出窗口中更改iframe SRC和加载

时间:2014-07-16 16:50:54

标签: jquery iframe

我有这个JQuery代码:

$("#EditCustomerA").click(function(e) {
  e.preventDefault();
  $("#EditCustomer").attr("src", $(this).attr("href"));
  $("a").removeClass("active");
  $(this).addClass("active");

  JQueryPopup('#EditCustomer');
});

我的JQueryPopup函数是:

function JQueryPopup(value) {
    $(value).toggle();

    $('#JQueryClose').click(function(){
        $(value).hide();
    });

    $( document ).on( 'click', function ( e ) {
        $(value).hide();
    });

    $( document ).on( 'keydown', function ( e ) {
        if ( e.keyCode === 27 ) { // ESC
            $(value).hide();
        }
    });
}

当我正常调用它时,该功能正常工作,但是当我使用时:

<a id="EditCustomerA" href="editcustomer.php?seq=123">Link</a>

它只是在普通窗口中打开我的页面。

我希望能够将a href链接加载到我的iframe(第一个jQuery函数)中,然后使用我的JQueryPopup函数打开弹出窗口

<div id="EditCustomer" class="EditPagePopup">
    <iframe id="EditCustomer" width="100%" height="100%" src=""></iframe>
</div>

1 个答案:

答案 0 :(得分:0)

您的iframe及其父级都具有相同的id

将其更改为:

<强> HTML

<div id="EditCustomer" class="EditPagePopup">
    <iframe id="EditCustomerFrame" width="100%" height="100%" src=""></iframe>
</div>
<a id="EditCustomerA" href="#" value="editcustomer.php?seq=123">Link</a>

<强> JS

$("#EditCustomerA").click(function (e) {
    e.preventDefault();
    $("#EditCustomerFrame").attr("src", $(this).attr("value"));
    $("a").removeClass("active");
    $(this).addClass("active");

    JQueryPopup('#EditCustomer');

    console.log('test');
});

function JQueryPopup(value) {
    console.log( value );
    $(iframe).toggle();

    $("#JQueryClose").on('click', function (e) {
        $(iframe).hide();
    });

    console.log( '1');

    $(document).on('click', function (e) {
        $(iframe).hide();
    });

    console.log( '2');

    $(document).on('keydown', function (e) {
        if (e.keyCode === 27) { // ESC
            $(iframe).hide();
        }
    });

    console.log( '3');
}

<强>已更新