我想使用由Strust2 jQuery插件內部使用的publish
/subscribe
框架。使用Struts 2 jQuery插件發佈事件
用戶可以從列表中選擇一個帳號或在文本框中鍵入它。
我想在文本框或選擇選項更改時發佈事件。所以,用戶只能鍵入文本框或從選擇框中選擇一些東西:
<s:textfield name="account" onblur="$.publish('accountChanged',this,event)"/>
<s:select name="accountList" list="destinationAccounts"
onblur="$.publish('accountChanged',this,event)"/>
以下是JS:
$.subscribe('accountChanged', function(event, data) {
alert("New data is: " + data.value);
if (event.target.id=='account') {
//Do something
}
}
這裏有問題:
- 數據。值僅適用於文本框,對於選擇框
data.value
未定義。 - 我想知道哪個目標收到事件。
event.target.id
不工作!我認爲事件對象不是一個jQuery事件對象?
我回顧了示例展示應用程序,但找不到任何。
我是否正確調用$.publish
方法?有更好的方法嗎?
要求很簡單。 頁面中有一個隱藏的文本字段。該隱藏文本的值應設置如下: 如果用戶在文本字段中鍵入一個值,則應該使用文本字段值設置隱藏字段值。 如果用戶從選擇輸入中選擇帳戶,則應從所選選項中設置隱藏字段值。 我認爲當文本框發生變化時以及用戶從選擇列表中選擇一些內容時,我必須發佈'accountChanged'主題。這是我發佈相同的主題名稱的方式。然後在訂閱方法中,我想通過讀取數據來設置隱藏值。值 –
好吧,你知道該怎麼做嗎? –
是的!你的回答引導了我很多。我會爲其他人提供答案 –