2012-07-26 72 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