2010-05-31 1 views
2

Я пытаюсь загрузить два модальных диалоговых окна с помощью JQuery. Оба они загружают отдельные страницы с помощью ajax. Единственная проблема заключается в том, что работает только один из них.Упрощение кода JQEA ПОМОЩЬ!

Я думаю, мне нужно упростить свой код, но я не уверен, как это сделать.

<script type="text/javascript"> 
$(document).ready(function(){ 
var dialogOpts = { 
     modal: true, 
     bgiframe: true, 
     autoOpen: false, 
     height: 400, 
     width: 550, 
     draggable: true, 
     resizeable: true, 
     title: "Your campaign rates", 
    }; 
$("#ratesbox").dialog(dialogOpts); //end dialog 

    $('#ratesbutton').click(
     function() { 
     $("#ratesbox").load("rate_sheet/index.php", [], function(){ 
       $("#ratesbox").dialog("open"); 
      } 
     ); 
     return false; 
     } 
    ); 
}); 
</script> 


<script type="text/javascript"> 
$(document).ready(function(){ 
var dialogOptsPass = { 
     modal: true, 
     bgiframe: true, 
     autoOpen: false, 
     height: 400, 
     width: 550, 
     draggable: true, 
     resizeable: true, 
     title: "Change your pasword", 
    }; 
$("#passwordbox").dialog(dialogOptsPass); //end dialog 

    $('#passwordbutton').click(
     function() { 
     $("#passwordbox").load("change_password/index.php", [], function(){ 
       $("#passwordbox").dialog("open"); 
      } 
     ); 
     return false; 
     } 
    ); 
}); 
</script> 

Возможно ли совместить два сценария ????

+0

Вы попробовали? – vladv

+0

Мне так любопытно, что вопрос в этой форме поднимается – jAndy

+0

@jAndy: Можно ли назвать это голосованием? –

ответ

3

Вы можете упростить ваш сценарий немного вниз, как это:

$(function(){ 
    var dialogOpts = { 
     modal: true, 
     bgiframe: true, 
     autoOpen: false, 
     height: 400, 
     width: 550, 
     draggable: true, 
     resizeable: true, 
     title: "Your campaign rates" 
    }; 
    $("#ratesbox, #passwordbox").dialog(dialogOpts); 
    $("#passwordbox").dialog("option", "title", "Change your pasword"); 
    //or... 
    //$("#ratesbox").dialog(dialogOpts); 
    //$("#passwordbox").dialog($.extend(dialogOpts, { title: "Change your pasword" })); 

    $('#ratesbutton').click(function() { 
    $("#ratesbox").load("rate_sheet/index.php", function(){ 
     $("#ratesbox").dialog("open"); 
    }); 
    return false; 
    }); 
    $('#passwordbutton').click(function() { 
    $("#passwordbox").load("change_password/index.php", function(){ 
     $("#passwordbox").dialog("open"); 
    }); 
    return false; 
    }); 
}); 

... но я не вижу каких-либо проблем с вашим кодом (кроме одного, который должен вызвать проблемы для как) , это скорее всего связано с вашей разметкой относительно того, почему никто не работает. Также не забудьте удалить конечные запятые в объявлениях объектов, в настоящее время у вас есть title: "Your campaign rates", ... у вас нет свисающей запятой, IE, в частности, взорвет прокладку, съешь свою кошку и украдет ваш автомобиль.

+1

+1 для кошачьей еды, кражи автомобилей IE – jAndy

+0

+1 IE сделал это для меня тоже! За исключением того, что у нее нет лицензии, поэтому, когда она потянулась, я получил билет! #% @ $$ # $! – Mottie