2011-05-23 62 views
1

我嘗試編輯通過使用jQuery輸入到文本框中的文本時選擇輸入的內容。 這是我的文本框onBlur動作後元素的內容不刷新

<input id="id_subsector_selector" type="text" maxlength="100" name="subsector_selector" onblur="onSubSectorSelectorChange(this);"/>

,這是我多選擇框

<select id="id_subsector" name="subsector" multiple="multiple"> <option value="14">Yazılımevi </option> </select>

這是我的javascript函數(我知道這是微不足道的)

function onSubSectorSelectorChange(item) { 
    $('select#id_subsector').html(""); 
} 

問題是當我向文本框輸入一個字符時,雖然onSubSectorSelectorChange函數是tr iggered,選擇框內容不會改變,直到我點擊頁面上的某個地方或按Tab按鈕。

問題可能是「onBlur」的觸發器操作,但我找不到合適的功能。 我在等待任何評論或解決方案!

謝謝

+0

那你真正想要做的?每次用戶輸入一個字符時都要改變選擇的值?如果是這樣你想要keyup事件。如果你使用jQuery,我會使用它來設置事件而不是屬性。 – 2011-05-23 14:05:32

回答

1

如果你想上的keydown執行方法onSubSectorSelectorChange,你需要使用屬性onkeydown代替。僅當您改變焦點時,onblur纔會起作用。

看一下onkeydown,onkeypressonkeyup屬性。

1

得到document.ready()事件擺脫的onblur屬性althogether,後期綁定到keyup事件:

$(document).ready(function(){ 
    $("#id_subsector").keyup(function(){ 
     onSubSectorSelectorChange(this); 
    }); 
}); 

甚至更​​簡明:

$(document).ready(function(){ 
    $("#id_subsector").keyup(function(){ 
     $(this).html(""); 
    }); 
});