1

当使用 jQuery 将文本输入到文本框时,我尝试编辑选择输入的内容。这是我的文本框

<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 函数,但直到我单击页面上的某个位置或按下选项卡按钮,选择框内容才会改变。

问题可能是“onBlur”的触发动作,但我找不到合适的功能。我正在等待任何评论或解决方案!

谢谢

4

3 回答 3

2

当元素失去焦点时触发模糊。您所追求的是 keyup 事件:

http://api.jquery.com/keyup/

于 2011-05-23T14:05:46.377 回答
1

如果要onSubSectorSelectorChange在 keydown 上执行该方法,则需要使用属性onkeydown。只有当onblur你改变焦点时才会起作用。

看一下onkeydown,onkeypressonkeyup属性。

于 2011-05-23T14:07:18.760 回答
1

摆脱 onblur 属性,并在事件中后期绑定document.ready()keyup事件:

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

或者更简洁:

$(document).ready(function(){
    $("#id_subsector").keyup(function(){
        $(this).html("");
    });
});
于 2011-05-23T14:08:11.977 回答