我有一个select元素,我正在添加选项以动态使用名为'结果'的变量中的数据:
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);
});
这可以正常工作,我可以在select元素中动态添加选项。
我现在需要做的是获得价值&#39;用户从添加的选项中选择的当前所选的属性。这是我陷入困境的地方。我认为这样的事情会起作用:
$('#categories').on('change', function() {
var optionSelected = $("#categories option:selected", this);
console.log($(optionSelected).data("value"))
});
但是当我选择新属性时,所选属性不会在选项上移动,因此我无法定位该属性以获取值。
假设上面的方法是可靠的,我如何让我新选择的选项具有所选属性,以便我可以定位它并获得值?还是有一种我失踪的更好的方法?提前致谢。
答案 0 :(得分:1)
所选属性将从加载中选择一个选项。你需要的是this.val()或者你可以使用普通的javascript并使用getElementById(你的选项元素的id).value()并获得那个值。