2012-07-26 90 views
1

好吧,所以我有这个项目,我最近接触到,所以我仍然搞清楚事情和其他一切。但是,今天我需要添加一些新的东西,在这方面,我来到后,似乎通过这种自定义的小功能,有人被带到一个路障扩展的jQuery与奇怪的功能valChange试图找出什么和为什么

$.fn.extend({ valChange: function(v) { return this.val(v).change(); } }); 

的地方屈指可数它采用的是像

$("input#system_path", $form).valChange(data.system_path ? data.system_path : ''); 

现在什么是这样做的laymen条款是令我困惑。然而,在我所做的事情中,似乎尽管实际上在页面上具有一个值,但我需要查找文档就绪值的元素似乎没有任何价值,但我尝试在类似的元素上查找这些值那没有通过这种方式得到价值观意味着工作很好。所以我总的想把自己的思想包围在做出这个想法的人身上,然后如果我能够改变其他东西,只要能够让我的最终游戏按我想要的方式工作即可。

我只需要有人来看看这个,告诉我它对他们是否有意义,如果有的话,有没有其他方法可以应用,因为这会创建一个路障?

+0

你对你遇到的问题的描述一点都不清楚。你认为这个插件做错了什么? – Pointy 2012-07-26 23:13:54

回答

4

这是一个jQuery插件,可以让您更新元素的值,并触发“更改”事件。

更新元素的“value”属性时,“change”事件通常不会触发。这提供了一个相当简单的方法来做到这一点。

+0

我很感谢你。现在我的问题是为什么一个文档中的东西准备好了,它在功能上超过了这个特定事件没有得到价值。在构建正在输出的数据的函数的底部,我将添加检查以查看该值是否为null或实际可能未定义的值。目前正在测试我尝试'alert($('#system_path').val());'并且从元素中获取任何值,即使有一个值。 – chris 2012-07-26 23:32:18

+0

这些检查旨在触发正在添加到产品中的其他内容.. – chris 2012-07-26 23:33:10

+1

@chris此函数不适用于获取**值,它是为了**设置**它们。如果你想获得一个值,只需使用'.val()'。如果你根本没有调用这个函数,那么'.val()'的工作方式完全没有效果。 – Pointy 2012-07-26 23:34:28