Упрощение кода Jquery ПОМОГИТЕ! - PullRequest
2 голосов
/ 31 мая 2010

Я пытаюсь загрузить два модальных диалоговых окна с помощью Jquery.Они оба загружают отдельные страницы, используя ajax.Единственная проблема в том, что работает только один из них.

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

    <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>

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

1 Ответ

3 голосов
/ 31 мая 2010

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

$(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, в частности, сдувает прокладку, съедает вашу кошку и угоняет ваш автомобиль.

...