$('.sela > option').on('click', function() {
console.log($(this).text());
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class='sela'>
<option>lorem</option>
<option>ipsum</option>
</select>
因此,无论选项是否更改,在控制台中单击lorem
都应设置lorem
,单击ipsum
时应将ipsum
设置为控制台。
有可能吗?
答案 0 :(得分:1)
您可以尝试等待元素的更改,然后使用console.log
显示值。
$('.sela').on('change', function(){
var $this = $(this),
$value = $this.val();
console.log($value);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class='sela'>
<option>lorem</option>
<option>ipsum</option>
</select>
答案 1 :(得分:0)
当然可以,但是我首先会在每个选项中生成一个值,然后您可以使用jQuery进行选择:
$('.sela option[value="1"]')
如果还没有值,则需要标识每个选项,最简单的方法是增加一个计数器。或者,如果您100%确定使用$(".sela option[value="1"]").text()
或$(this).find("option:selected").text();
如果您甚至都不知道如何添加选项,请遍历选择并替换每个选项:)
编辑:
var allOptions = $('.sela')[0];
for(var i=0; i < allOptions.length; i++) {
console.log(allOptions[i].value);
allOptions[i].option = new Option('My option', 'i');
}