2013-07-29 2 views
0

Я хочу использовать такую ​​активность $('#myModal').show();Вызов функции Jquery внутри подвидов бритвы

оригинальный вызывающий плагин рутина выглядит следующим образом:

<script type="text/javascript"> 
$(document).ready(function() { 
    $('#myButton').click(function(e) { 
      e.preventDefault(); 
     $('#myModal').show(); 
    }); 
}); 
</script> 

Я положил свой код в приведенном ниже разделе. Здесь $('#myModal').show({}); не работает

@using (Html.BeginForm("Contact", "Home", FormMethod.Post, new { name = "send-contact", id = "contactform1" })) 
    {  
      @Html.AntiForgeryToken() 

      if (!String.IsNullOrEmpty(stResult)) 
      {     
       <text> 
         <div id="myModal" class="reveal-modal"> 
          <h1>Modal Title</h1> 
          <p>Any content could go in here.</p> 
          <a class="close-reveal-modal">&#215;</a> 
         </div> 

        $('#myModal').show({}); // The desired function! 
       </text> 

      } 
    } 

Есть 2 проблемы этого подхода в рамках моего кода

  1. JQuery библиотека расположена в нижней строке главной страницы (_layout) Существует обертка над всеми плагинами внутри знаменитой функции ready(), которая находится там.

  2. В качестве альтернативного способа я поместил $('#myModal').show(); внутри JQuery.ready() в обертке, которая, когда она называет все, если он должен был найти в "#myModal" основанный на моих условиях, то он будет срабатывать функцию я желал. , но снова это не срабатывает.

Я думаю, что этот подход представляется более логичным и может быть единственным логичным между этими 2 подхода вызывает первую функцию не находится в готовом функции JQuery, и если я использую другой готов функция здесь также неверна из-за дублирования готовой функции.

ответ

2

Если вы в том числе частичный вид называется Foo.cshtml вы также можете создать частичное представление с именем FooScripts.cshtml и сделать эту точку зрения, где остальные ваши скрипты становятся загруженную:

<h2>Main View</h2> 

@Html.Partial("Foo") 

... 


@section scripts { 
    @Scripts.Render("~/bundles/jquery") 
    @Html.Partial("FooScripts") 
} 
+0

Извините, что после того, как задавать вопрос, который я имел идти и снова после выхода из этого комментария будет задержка перед моим следующим возвращением. Я знал предмет, который вы упомянули, но не думал об этом как о решении. И, возможно, это может быть правильный путь к решению. Таким образом, вы имеете в виду, что я должен разместить «$ ('# myModal'). Show();" в функции готовности jquery, где все плагины инициализируются. Правильно? Также часть, которую Jquery ищет для запуска, является условной частью, которая будет скрыта в обычное время: «id =» myModal ». (Продолжение ...) – Sypress

+0

после отправки события во время метода «post», и снова он вернулся к просмотру, и я хочу, чтобы плагин JQuery состоялся и показывал «myModal». Если бы вы могли обратиться к проблеме, о которой я упоминал, если вы уверены, что это будет работать без каких-либо изменений, дайте мне знать. Более понятная версия более ценится. Спасибо за информацию +1 – Sypress

Смежные вопросы