2012-07-24 39 views
1

嗨,大家好我一直在努力如何从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是已经是我使用一个按钮发射的功能,但现在我想它发射由一个事件。我也tryed有:

@Html.EditorFor(model => model.Ciudad, new{onblur= "mapSearch();"}) 

感谢

+0

嗨,你的代码的html输出是什么? – Charlie 2012-07-24 02:48:32

+0

我用这个来获取谷歌地图的经纬度,所以当你写这个城市(ciudad)时,地图会加载模糊的城市。 myFunction是geocode() – LeoJ 2012-07-24 03:28:12

+0

什么'@ Html.EditorFor(model => model.Ciudad,new {id =“mapSearch”})'成为?一个' Charlie 2012-07-24 03:33:23

回答

1

试试这个。更改您的视图类似这样的标记

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

+0

我真的在尝试,但没有工作。与您所建议的更改结果相同。 – LeoJ 2012-07-24 02:12:09

+0

@LeoJ:你是否收到任何脚本错误?通过工作示例查看我的更新答案。 – Shyju 2012-07-24 02:18:39

+0

不,我没有得到任何错误,我使用萤火虫进行调试,我发现你的例子完美工作,但我仍然无法猜测我做错了什么。我正在考虑放弃并使用按钮:/ – LeoJ 2012-07-24 02:43:02

0

EditorFor没有按没有一个需要html的覆盖ttributes。在“EditorFor”级别,它不知道可能插入了什么元素或如何获取属性。您需要使用TextBoxFor或DropDownListFor或另一个添加特定元素的助手。或者,如果这是您使用的编辑器,则需要在编辑器模板中添加属性。如果需要,可以将属性传递给模板,但作为模型(或ViewBag或其他方式)的一部分。