Как управлять Dojo FilteringSelect по умолчанию для рендеринга? - PullRequest
1 голос
/ 22 марта 2010

У меня есть dojo dijit.filering.select, который заполняется значениями из dojo.data.ItemFileReadStore.Все работает нормально, за исключением того, что я хочу, чтобы фильтр выбора автоматически заполнялся первым значением в itemFileReadStore.В настоящее время он загружает их в виде списка параметров, которые отображаются при нажатии стрелки вниз, согласно спецификации.Вместо этого я бы хотел, чтобы filteringSelect загружалось с первым значением.Как мне это сделать?По какой-то причине я не могу понять это.Любая помощь будет принята с благодарностью!

С уважением, Ник Франдсен

<script type="text/javascript">
        function updateOptions(){
            var itemId = dijit.byId("item_select").attr("value");
            var jsonStore = new dojo.data.ItemFileReadStore({ url: "/options/get-options-json/itemId/" + itemId });
            optionSelect.attr("store", jsonStore);
        }
</script>
<select dojoType="dijit.form.FilteringSelect"
        name="option_select"
        id="option_select"
        labelAttr="name"
        required="true"
        jsId="optionSelect">
</select>

Ответы [ 2 ]

1 голос
/ 13 апреля 2011

Мне кажется, что это хак (не говоря уже о том, что я немного опоздал), но я сделал это, чтобы добиться того же:

var valueSet = false;
filteringSelect.store.fetch({
    query:{ id:"*" },
    onItem : function(item, request) {
        if (!valueSet) {
            filteringSelect.setValue(request.store.getValue(item, "id"));
            valueSet = true;
        }
    }
});
0 голосов
/ 06 апреля 2010

Это может работать:

optionSelect.attr('displayedValue', itemLabel);

Где itemLabel - это метка элемента, который вы хотите отобразить (будет зависеть от того, как внутренне выглядит ваше хранилище данных).Это должно установить как текстовое поле, так и скрытое поле (с соответствующим itemValue).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...