Не удается получить размытие события с asp.net mvc 3
Привет, ребята, я изо всех сил пытался получить размытие события от строго типизированного представления asp.net mvc 3. Это то, что я пробовал.
<table>
<td class="contentTable">
@Html.LabelFor(model => model.Ciudad)
</td>
<td>
@Html.EditorFor(model => model.Ciudad, new{id= "mapSearch"})
@Html.ValidationMessageFor(model => model.Ciudad)
</td>
</table>
<script type="text/javascript">
$(function () {
$('#mapSearch').blur(function () {
myFunction();
});
});
</script>
myFunction уже является функцией, которую я использую с помощью кнопки, но теперь я хотел, чтобы она срабатывала по событию. Я также попробовал с:
@Html.EditorFor(model => model.Ciudad, new{onblur= "mapSearch();"})
Спасибо
2 ответа
Попробуй это. Измените свою разметку вида, как это
@Html.EditorFor(model => model.Ciudad)
и такой сценарий
$(function () {
$('#Ciudad').blur(function () {
myFunction();
});
});
Предполагая, что у вас есть функция JavaScript, называемая myFunction
существовать
function myFunction() {
console.debug("myFunction Called");
//Some other awesome stuff here
}
Пример JsFiddle: http://jsfiddle.net/C3wMY/4/
EditorFor не имеет переопределения, которое принимает атрибуты html. На уровне "EditorFor" он не знает, какие элементы могут быть вставлены или как получить к ним атрибуты. Вам нужно использовать TextBoxFor, DropDownListFor или другой помощник, который добавляет определенный элемент. Или вам нужно добавить атрибуты в шаблон вашего редактора, если вы используете этот редактор. Вы можете передавать атрибуты в свой шаблон, если хотите, но как часть модели (или ViewBag, или другими способами).