首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当$(Document).ready时未呈现MVC Razor HTML帮助程序(

当$(Document).ready时未呈现MVC Razor HTML帮助程序(
EN

Stack Overflow用户
提问于 2012-10-17 08:29:41
回答 2查看 1.4K关注 0票数 2

我刚刚注意到,当我的javascript调用$(Document).ready(函数.)时,我的MVC Razor HTML助手没有呈现( DOM)。因此,当我在文档中放置依赖于DOM对象的代码时,它不会找到DOM对象。

Javascript

代码语言:javascript
复制
$(document).ready(function () {
    $('input:radio,select').change(function () {
        DO STUFF...

HTML助手

代码语言:javascript
复制
@Html.RadioButtonList(m => m.ItemType, new SelectList(Model.ItemTypes, "Name", "Name")

另一个

代码语言:javascript
复制
@Html.DropDownListFor(n => n.ApartmentFloor, new SelectList(Model.ApartmentFloors, "Id", "Floor"), new { @id = "floorsSelect", @class = "exists" })

通常情况下,无线电按钮和下拉列表应该得到一个.change函数,但是由于它们在添加.change时还没有呈现,所以它们没有得到该函数。

有没有办法让“html助手准备好”而不是“准备好文档”?

编辑

人们已经指出,在客户端开始呈现之前,HTML帮助程序在服务器上运行,因此也应该在此之前完成。情况似乎并非如此,因为当我调试JS“”时,HTML helpers对象还没有呈现,但是页面的其余部分呈现出来了。

因此,问题仍然存在,是否有一种方法可以添加一个"on“函数-- HTML助手对象,还是直接从cshtml文件中添加一个具有剃刀语法的"change”函数?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-15 09:58:09

我意识到我从来没有发布过我的问题的解决方案。尽管人们指出HTML助手应该在文档准备好之前就呈现出来,但对我来说似乎并非如此。因此,我所做的是将事件处理程序直接添加到HTML助手上,而不是:

@Html.RadioButtonList(m => m.MyObject, new SelectList(Model.MyObjects, "Name", "Name"), "inputChangeHandler($(this));")

工程伟大=)

票数 0
EN

Stack Overflow用户

发布于 2012-10-17 08:32:57

试着注册这样的事件,

代码语言:javascript
复制
      $('input:radio,select').on("change" ,function () { }) ;

希望这会有帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12930151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档