2015-05-12 6 views
-1

У меня есть специальное требование с использованием инфраструктуры Dojo: на основе выбранной опции (<option>) Мне нужно обновить ярлык (<label>).Обновление метки на основе выбранной опции с использованием Dojo

Я ничего не нашел для Dojo, но нашел аналогичный код с помощью JavaScript/jQuery. Например: http://jsfiddle.net/Godinall/Pn8HZ/

Может ли кто-нибудь сказать мне, как достичь того же, используя Dojo?

+0

Какую метку вы пытаетесь обновить? Это текстовое поле, кнопка или что-то еще? – Richard

+0

Я пытаюсь обновить ярлык Name of the Text. Выбрав опцию, выбранный параметр должен отображаться перед текстовым полем. –

ответ

0

Хорошо, если для вас работает простой JavaScript, тогда вы можете использовать простой JavaScript.

Если добавить идентификаторы ваших DOM элементов, вы можете использовать модули dojo/on и dojo/dom, например:

require(["dojo/dom", "dojo/on", "dojo/domReady!"], function(dom, on) { 
    var mySelect = dom.byId("mySelect"); 
    on(mySelect, "change", function() { 
     dom.byId("myLabel").innerHTML = mySelect.value; 
    }); 
}); 

В противном случае, вы можете также использовать JQuery-а-подобный синтаксис с использованием нодлистов и dojo/query:

require(["dojo/query", "dojo/NodeList-manipulate", "dojo/domReady!"], function(query) { 
    query("select").on("change", function() { 
     query("label").innerHTML(this.value); 
    }); 
}); 

Если вы используете dijit/form/FilteringSelect вместо нормального <select> коробки, то есть использовать dijit/registry для получения экземпляра виджета и использовать метод on() на него, чтобы добавить обработчик событий, например:

require(["dojo/dom", "dojo/ready", "dijit/registry"], function(dom, ready, registry) { 
    ready(function() { 
     registry.byId("mySelect").on("change", function() { 
      dom.byId("lbl").innerHTML = this.get("displayedValue"); 
     }); 
    }); 
}); 

Если вы пытаетесь установить значение текстового поля вместо использования ярлыка, то вы должны установить свойство value узла DOM вместо innerHTML.

+0

Вот мое точное требование: –

+0

@RanjitGadde Какое ваше точное требование? – g00glen00b

+0

В раскрывающемся списке «Выбрать» у меня есть 2 значения, такие как яблоки и апельсины. На основе выбранного значения, то есть оранжевого или Apple, если я выбираю апельсины, этикетка должна быть изменена апельсинами в переднем текстовом поле. Если я выбираю Яблоки, ярлык должен быть изменен на Яблоки динамически. –

Смежные вопросы