2013-05-22 4 views
0

Я не могу понять это. После того, как вы нажмете на кнопку, он должен открыть диалоговое окно, чтобы подтвердить, хотите ли вы продолжить «перейти по этой ссылке» (например, google.com) или нет. Если да, он должен направить вас к ссылке. Однако я не могу найти способ работать. У меня две кнопки с разными ссылками.JQuery UI Dialog Button подтвердить открытый URL

вид jsfiddle here

HTML:

<button class="open" onclick="window.open('http://google.com')">Google</button> 
<button class="open" onclick="window.open('http://yahoo.com')">Yahoo</button> 

<div class="unique">Are you sure you want to continue?</div> 

JS:

$(function() { 
    $('.open').on("click", function(e) { 
     var link = this; 

     e.preventDefault(); 

     $('.unique').dialog({ 
      buttons: { 
       "Ok": function() { 
        window.location = link.href; 
       }, 
       "Cancel": function() { 
        $(this).dialog("close"); 
       } 
      } 
     }); 
    }); 
}); 

CSS:

.unique {display: none;} 



НО, если я использую следующее (http://jsfiddle.net/mJwMu/) - он отлично работает. Тем не менее, я могу только перейти к одной ссылке. Это не так - я хочу иметь возможность направить на несколько ссылок. (Google.com/yahoo.com/msn.com/etc)

HTML:

<button class="open">Google</button> 

<div class="unique">Are you sure you want to continue?</div> 

JS:

$(function() { 
    $('.open').on("click", function(e) { 
     var link = this; 

     e.preventDefault(); 

     $('.unique').dialog({ 
      buttons: { 
       "Ok": function() { 
        window.open('http://google.com'); 
       }, 
       "Cancel": function() { 
        $(this).dialog("close"); 
       } 
      } 
     }); 
    }); 
}); 

CSS:

. уникальный {display: none;}

Ваша помощь приветствуется!

+0

Вы пытаетесь использовать атрибут HREF ('window.location = link.href;'), где ни один не существует ('<кнопка класс =» открыть «onclick =» window.open ('http://google.com') "> Google'). – j08691

ответ

0

HTML

<button class="open" data-href="http://www.google.com">Google</button> 
<button class="open" data-href="http://www.yahoo.com">Yahoo</button> 
<div class="unique">Are you sure you want to continue?</div> 

JQuery

$(function() { 
    $('.open').on("click", function (e) { 
     var link = this; 

     e.preventDefault(); 

     $('.unique').dialog({ 
      buttons: { 
       "Ok": function() { 
        window.open($(link).attr("data-href")); 
        $(this).dialog("close"); 
       }, 
       "Cancel": function() { 
        $(this).dialog("close"); 
       } 
      } 
     }); 
    }); 
}); 
+0

Это работает. Спасибо огромное! – user1652920

+0

Добро пожаловать, обязательно установите флажок рядом с ответом, чтобы все знали, что у вас есть рабочий ответ. –