У меня есть несколько просмотров, содержащих этот же javascript.Перемещение javascript из представления в файл javascript
<script type="text/javascript">
$(function() {
$("#addAnother").click(function() {
$.get('/QuestionGroup/QuestionEntryRow', function (template) {
$("#questionEditor").append(template);
});
});
});
</script>
Я решил переместить эту логику в файл javascript. Итак, вот что я сделал.
По моему мнению, я добавил данные-attr.
<a method="get" action="@Url.Action("QuestionEntryRow", "QuestionGroup")" href="#">Add another</a>
В файле javascript я добавил следующий код.
var insertRow = function() {
var $a = $(this);
var options = {
url: $a.attr("action"),
type: $a.attr("method")
};
$.ajax(options).done(function (data) {
var $target = $($a.attr("data-cban-target"));
$target.append(data);
});
return false
};
$("a[data-cban-a]").click(insertRow);
Когда пользователь нажимает на ссылку «Добавить еще». Javascript не выполняется.
Target
<ul data-cureurban-target="questionEditor" style="list-style-type: none">
</ul>
Здесь контроллер логики
public ActionResult QuestionEntryRow()
{
ViewBag.QuestionID = new SelectList(db.Questions, "QuestionID", "QuestionDesc");
return PartialView("_QuestionEntryEditor");
}
Если Javascript справочного файла находится в заголовке документа, который вы пытаетесь присвоить обработчик щелчка перед тем существует 'a' элемент. –
Как сделать этот документ готовым – RThompson
'$ (function() {});' _is_ обработчик документа. – Jasen