3

我正在尝试从currentTarget. 我试过这个,(e.currentTarget.child.attr("data-english"

我已经用谷歌搜索了它,但没有找到任何有用的东西,也许我是新的代码,我可能正在查找错误的东西。

这是HTML

 < select class="form-control" id="select_fundFamily"     name="select_fundFamily" autocomplete="off" >
  < option value="stuff" data-english="english" data-family-locallang="model" >

目前在 JQuery 中,e.currentTarget.value;正在显示选择元素。

有人可以告诉我解决这个问题的方法吗?

4

3 回答 3

6

对于选择中选定选项的值,您可以使用

$(e.currentTarget).find(':selected').attr("data-english");

运行下面的代码片段以查看它的工作原理

$(document).ready(function(){
    $('select').change(function(e){
         var eng = $(e.currentTarget).find(':selected').attr("data-english");
        $('body').append(eng);
    })
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select id="select_fundFamily"> 
    <option selected disabled>Select something</option>
    <option value="stuff1" data-english="english1" >1</option>
    <option value="stuff2" data-english="english2" >2</option>
    <option value="stuff3" data-english="english3" >3</option>
    <option value="stuff4" data-english="english4" >4</option>
    <option value="stuff5" data-english="english5" >5</option>
</select>

于 2015-06-10T20:04:19.050 回答
2

如果您尝试确定所选选项的属性。一个简单的解决方案是:

var dataEnglish = $('#select_fundFamily option:selected').attr('data-english'); // dataEnglish = english
于 2015-06-10T20:06:13.247 回答
1

currentTarget 将响应事件侦听器触发事件​​的任何元素。在您的情况下,我认为您想使用 e.target 来定位正确的元素。

$("select#select_fundFamily").on('click','option', function(e) {
    e.preventDefault();
    $(e.target).attr('data-english'); // you can use $(this) instead
    //something else
});
于 2015-06-10T20:09:33.273 回答