Мне нужно вставить код JavaScript внутри UserControl, который я загружаю из вызова Ajax через jQuery Ui Tabs. Позвольте мне объяснить ...Использование Javascript внутри динамической загрузки UserControl в jQuery Ui Tabs
Это мой View (с JQuery загружен)
<script type="text/javascript">
$(document).ready(function() {
$("#tabs").tabs({
cache: false,
});
getContentTab (1);
});
function getContentTab(index) {
var url='<%= Url.Content("~/Home/getUserControl") %>/' + index;
var targetDiv = "#tabs-" + index;
$.get(url,null, function(result) {
$(targetDiv).html(result);
});
}
</script>
<div id="tabs">
<ul>
<li><a href="#tabs-1" onclick="getContentTab(1);">Nunc tincidunt</a></li>
<li><a href="#tabs-2" onclick="getContentTab(2);">Proin dolor</a></li>
<li><a href="#tabs-3" onclick="getContentTab(3);">Aenean lacinia</a></li>
</ul>
<div id="tabs-1">
</div>
<div id="tabs-2">
</div>
<div id="tabs-3">
</div>
</div>
С помощью этих строк кода я вызываю функцию Ajax, чтобы загрузить содержимое в DIV. Это действие от контроллера:
public ActionResult getUserControl(int num)
{
return PartialView("TestUC", num);
}
И это UserControl ...
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
Number... <span id="testSpan"><%=Model.ToString() %></span>!!
<input type="button" value="Click me!!" onclick="message();" />
<script type="text/javascript">
function message(item) {
alert($("#testSpan").html());
}
</script>
Проблема заключается в том, что функция сообщения() всегда возвращает 1 (вместо возвращения правильный номер).
Мой вопрос ... Как добавить скрипт в свой UserControl, чтобы мой код работал правильно?
это может быть решением, но я решил в другой (более чистое ИМХО) способом. Теперь я освобождаю содержимое предыдущей вкладки, таким образом, идентификатор всегда уникален. Спасибо! – Flea777