我已经创建了用于获取attribute value
的代码,但是我具有相同的名称类别,但是所有选项的值都不同。
这是我的html code for
选项
$('#subcategory').click(function() {
var subcat_id = $( this ).find( '.subcategoryList' ).attr('value');
console.log(subcat_id);
});
<option name="subcategory" id="subcategory">
<option value="3" class="subcategoryList">Village </option>
<option value="4" class="subcategoryList">Real Estate </option>
</option>
此html
也来自JQuery函数代码,如下所示:
... $.each(res, function (key, value) {
html += "<option value="+key+">"+value+" </option>";
});
$('#subcategory').html($(html).addClass('subcategoryList'));
}
...
答案 0 :(得分:1)
首先,您不能将option
个元素嵌套在其他option
个元素中。它们应嵌套在select
元素中。
在这种情况下,您想使用change
事件,而不是click
事件。
最后,这是一个简单的操作,只需要在value
之后查看select
的{{1}}。不需要JQuery。
change
document.getElementById("subcategory").addEventListener("change", function() {
console.log(this.value);
});
答案 1 :(得分:0)
或者如果您想要该版本的jQuery
$('#subcategory').change(function() {
var subcat_id = $(this).val();
console.log(subcat_id);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select name="subcategory" id="subcategory">
<option value="3" class="subcategoryList">Village </option>
<option value="4" class="subcategoryList">Real Estate </option>
</select>
请注意,每个选项的类在这里对于您的目的都是完全没用的