我正在将 excel 应用程序转换为单个网页应用程序。因为我希望用户感到熟悉,所以我希望在用户更改输入时实时更新所有内容,就像在 excel 中一样。它工作得很好,但由于不同的输出标签相互依赖,它开始变得混乱。
无论如何,当用户在文本框中输入输入时,我可以将列表器添加到标签而不是为标签设置值吗?
我正在将 excel 应用程序转换为单个网页应用程序。因为我希望用户感到熟悉,所以我希望在用户更改输入时实时更新所有内容,就像在 excel 中一样。它工作得很好,但由于不同的输出标签相互依赖,它开始变得混乱。
无论如何,当用户在文本框中输入输入时,我可以将列表器添加到标签而不是为标签设置值吗?
好的,扩展我对原始问题的评论。同时,您所问的绝对可能是 jQuery。像电子表格这样复杂的东西需要大量的 jQuery 引用和连接代码,如果不是完全加班的话,这将变得几乎不可持续。
但是,要回答您的问题,您很可能希望绑定到onChange
相关输入的事件。这将允许您在整个 ui 中获得几乎即时的更新。这样的事情可以很容易地做到这一点:
$("#InputInQuestion").on("change", function(e) { //Do Something } );
随着您在此类应用程序中的进展,这种方法最终会导致一些非常难以阅读和难以维护的代码。想象一下为电子表格样式应用程序上的每个事件编写这种函数,您可能会明白为什么您应该远离这种方法。
有许多可行的框架可以让你问的问题几乎是微不足道的,关键词是差不多。
例如,Knockout.js 带有一个映射插件,它允许您将服务器数据动态映射到 html 中的对象。所有这些对象都将在应用程序的整个生命周期中动态设置。我的意思是,当您的一个单元格中的值发生更改时,您将获得预期的效果,即让其余的 ui 更改以反映这一点,而无需编写大量的连接编码。
他们的网站http://knockoutjs.com/有一些很棒的入门教程。
AngularJS 也是一个令人惊叹的实用程序,用于制作健壮且响应迅速的 UI,您可以在此处查看: http: //angularjs.org/
Backbone.js 与上面的非常相似,可以在这里找到:http: //backbonejs.org/
正如我在评论中所说......我不鼓励你这样做,但如果你有少量元素要改变,那么.change()是你可以用来实现你需要的功能。
您可以在此站点上看到一个工作示例: jQuery change() example