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

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 に答える
1

キーダウン時にメソッドを実行する場合は、代わりにonSubSectorSelectorChange属性を使用する必要がありますonkeydown。は、onblurフォーカスを変更した場合にのみ機能します。

onkeydownonkeypressおよびonkeyup属性について見てみましょう。

于 2011-05-23T14:07:18.760 に答える