0

検索ボックスを無効のままにして、検索が有効になっている間のデフォルトの動作であるキープレスのオプションをドロップダウンで選択する方法はありますか?

$(element).chosen({ disable_search: true });

次を使用して、検索を有効にして検索ボックスを非表示にしようとしました(運が悪い):

$('ul.chosen-choices li.search-field').hide();

キープレスが通常の選択のように機能するには、その検索を表示する必要があるようです。運が良かった人はいますか?前もって感謝します!

4

1 に答える 1

2

これは私にとってはうまくいきますが、特殊文字の処理にはいくつかの調整が必要です:

var originalObjectSelector = "select#yourSelectId";

var $container = $(originalObjectSelector).data("chosen").container

var $orig=$(originalObjectSelector);

$container.bind("keypress", function(event){
    var charCode = event.charCode; 
    var keyCode = event.keyCode; 
    var character = String.fromCharCode(charCode);
    //console.log("kc:", keyCode, "cc", charCode, "char:", character);
    //console.log(event);
    if(keyCode==13){
        //enter is pressed;
        $orig.trigger('change');
    }
    if(charCode != 0 && character.match(/^[-_ a-zA-Z0-9]+$/))
    {
        //console.log('alphanumeric or space');      
        $orig.find("option").removeAttr("selected")
            .filter(function() { return $(this).text().toLowerCase().indexOf(character.toLowerCase()) === 0; })
            .first().attr("selected", "selected");
        $orig.trigger('chosen:updated');
    } 

});
于 2013-10-16T15:32:03.473 に答える