添加'已选中'属于用户在更改'之后选择的选项使用jQuery

时间:2016-02-11 23:36:03

标签: jquery attributes html-select

我有一个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"))
});

但是当我选择新属性时,所选属性不会在选项上移动,因此我无法定位该属性以获取值。

假设上面的方法是可靠的,我如何让我新选择的选项具有所选属性,以便我可以定位它并获得值?还是有一种我失踪的更好的方法?提前致谢。

1 个答案:

答案 0 :(得分:1)

所选属性将从加载中选择一个选项。你需要的是this.val()或者你可以使用普通的javascript并使用getElementById(你的选项元素的id).value()并获得那个值。