如果类相同且值不同,如何获得clicked属性的值

时间:2019-02-07 18:03:08

标签: javascript jquery html

我已经创建了用于获取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'));

    }
...

2 个答案:

答案 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>

请注意,每个选项的类在这里对于您的目的都是完全没用的