如何将自定义属性动态添加到 Select 选项以及如何使用 javascript 或 dojo 获取它
How to add custom attribute dynamically to Select Option and how to fetch it using javascript or dojo
我知道,我知道一定有一些话题涉及这个话题。但是我使用搜索并没有得到符合我需要的答案。所以我们开始吧:
我正在向 Select 选项添加自定义属性,但我无法获取特定属性的值,
Option1 = domConstruct.create("option", {});
Option1.innerHTML = "2015";
Option1.value = "2015";
domAttr.set(Option1, "Type", "Input");
domAttr.get(evt.currentTarget[this.selectedIndex], "Type");
or
domAttr.get(evt.currentTarget.this.selectedIndex, "Type");
or
evt.currentTarget.selectedIndex.getAttribute('Type');
or
evt.currentTarget[this.selectedIndex].getAttribute('Type');
问题不够清楚。要获取 select > option
元素中的值。你可以使用 jquery $("select").on("change", function(){ console.log( $(this).val()); });
做这样的事情
首先,当您在堆栈溢出时在这里提问时,请保持问题清晰并提供一些干净的代码摘录。
其次,我建议在将数据属性添加到任何元素时遵守 HTML5 有效表示法,以避免与元素属性发生任何冲突。所以让我先建议一下
domAttr.set(Option1, "data-option-type", "input");
通过
连接到包含选项的输入元素后
on(input, "change", function(evt){
var input = evt.currentTarget;
var option = input.options[input.selectedIndex];
// or
// var option = input.selectedOptions[0];
var optionType = domAttr.get(option, "data-option-type");
});
希望对您有所帮助。
我知道,我知道一定有一些话题涉及这个话题。但是我使用搜索并没有得到符合我需要的答案。所以我们开始吧:
我正在向 Select 选项添加自定义属性,但我无法获取特定属性的值,
Option1 = domConstruct.create("option", {});
Option1.innerHTML = "2015";
Option1.value = "2015";
domAttr.set(Option1, "Type", "Input");
domAttr.get(evt.currentTarget[this.selectedIndex], "Type");
or
domAttr.get(evt.currentTarget.this.selectedIndex, "Type");
or
evt.currentTarget.selectedIndex.getAttribute('Type');
or
evt.currentTarget[this.selectedIndex].getAttribute('Type');
问题不够清楚。要获取 select > option
元素中的值。你可以使用 jquery $("select").on("change", function(){ console.log( $(this).val()); });
首先,当您在堆栈溢出时在这里提问时,请保持问题清晰并提供一些干净的代码摘录。
其次,我建议在将数据属性添加到任何元素时遵守 HTML5 有效表示法,以避免与元素属性发生任何冲突。所以让我先建议一下
domAttr.set(Option1, "data-option-type", "input");
通过
连接到包含选项的输入元素后on(input, "change", function(evt){
var input = evt.currentTarget;
var option = input.options[input.selectedIndex];
// or
// var option = input.selectedOptions[0];
var optionType = domAttr.get(option, "data-option-type");
});
希望对您有所帮助。