我有我加入动态使用从一个变量叫“结果”数据选项中选择元素:添加“选择”属性为用户选择的选项“改变”后与jQuery
HTML:
<select id="categories">
<option selected disabled>Select your category</option>
</select>
的jQuery:
$.each(results.Subcategories, function(index,category) {
var category = '<option value="'+category.Name+'" data-index="'+index+'">'+category.Name+'</option>';
$('#categories').append(category);
});
这正常工作,我能够在选择元素的动态添加选项之间做出选择。
我现在需要做的是获取当前选择的AFTER的'value'属性,用户从添加的选项中选择它。这是我陷入困境的地方。我认为,像这样的工作:
$('#categories').on('change', function() {
var optionSelected = $("#categories option:selected", this);
console.log($(optionSelected).data("value"))
});
但是,当我选择一个新的选择的属性不会在移动选项,所以我无法定位到该属性来获取值。
假设上面的方法是稳定的,如何让我的新选择的选项具有选定的属性,以便我可以将其定位并获取值?还是有更好的方法,我错过了?提前致谢。
只需做$(this).val()或this.value即可获得选定的值。 – DinoMyte
@DinoMyte - 但是我怎么知道'this'对于新选择的选项是什么,没有'selected'属性呢? – SilentDesigns
'selected'属性指定在选择元素加载时应该预先选择哪个选项。你是否试图从外部事件插入选项并让它在选择元素中显示选中? – DinoMyte