0

オートコンプリート jQuery フィールドを持つ入力フィールドがあります。

<input id="peopleRoleCodeAuto" type="text" size="50"/>

「A」と入力すると、「ATPL」値がリストされていることがわかります。「AT」と入力すると消え、「ATP」と入力すると再び表示されます。私は jQuery への露出を制限しており、誰か提案があるかどうか疑問に思いました。

        jQuery('#peopleRoleCodeAuto').icisAutocomplete({
        source: roleCodes,
        localJson: true,
        mustMatch: true,
        linkedFields: ['peopleRoleCode', 'peopleRoleCodeDescription'],
        select: function(event, ui){
            jQuery('#peopleRoleCode').val(ui.item.id);
            jQuery('#peopleRoleCodeDescription').val(ui.item.desc);
        },
        change: function(event, ui){
            jQuery('#peopleRoleCode').val(ui.item.id);
            jQuery('#peopleRoleCodeDescription').val(ui.item.desc);
        }
    })




 function icisAutocomplete(param, parentElem){
    return {
        source: param['source'],
        select: param['select'],
        search: param['search'],
        response: param['response'],
        focus: param['focus'],
        success: param['success'],
        change: function (event, ui) {
            if(jQuery(this).val() == ''){
                jQuery(param['clear']);
            }

            if(param['mustMatch'] && ui.item == null){
                jQuery(this).val('');
                if(param['linkedFields']){
                    clearFields(param['linkedFields']);
                }
            } else{
                if(param['change']){
                    jQuery(param['change'](event, ui));
                }
            }

            if(param['fieldsToResetOnChange']){
                clearFields(param['fieldsToResetOnChange']);
            }
        },
        minLength: (param['allOpt'] ? 0 : (!jQuery.isNaN(param['minLength']) ? param['minLength'] : 1)),
        allOpt: (param['allOpt'] ? true : false),
        delay: 0,
        autoFocus: true
    };
}

ありがとう、

トム

4

1 に答える 1

0

次のコード searchOn: "id" を jQuery コードに追加すると、これが機能し始めました。

jQuery('#peopleRoleCodeAuto').icisAutocomplete({
            source: roleCodes,
            localJson: true,
            mustMatch: true,
            linkedFields: ['peopleRoleCode', 'peopleRoleCodeDescription'],
            searchOn: "id",
            select: function(event, ui){
                jQuery('#peopleRoleCode').val(ui.item.id);
                jQuery('#peopleRoleCodeDescription').val(ui.item.desc);
                return false;
            },
            change: function(event, ui){
                jQuery('#peopleRoleCode').val(ui.item.id);
                jQuery('#peopleRoleCodeDescription').val(ui.item.desc);
                return false;
            }
        })
于 2013-08-01T13:19:39.323 に答える