2015-11-19 55 views
0

我们需要获取所选下拉菜单的属性名称以进行分析。现在,如果我们点击其中一个。它只会显示“主题”。 “国家”属性名称没有得到。自定义选择 - 获取所选下拉菜单的属性名称

<label>Subject</label> 
<br /> 
<select name="subject" class="custom-select"> 
    <option value="">enquiry?</option> 
    <option value="1">General enquiry</option> 
    <option value="others">Others</option> 
</select> 

<label>Country</label> 
<br /> 
<select name="Country" class="custom-select"> 
    <option value="Australia" selected="selected">Australia</option> 
    <option value="2">New Zealand</option> 
</select> 

JS:

$('.custom-select').each(function() { 
    var select = $(this).selectize({ 
    onChange: function(value) { 
     Forms.onChangeSelectValue(value, select); 
    }, 

    onBlur: function(){ 
     Analytics.pushData({ 
     eventCat: 'Form', 
     eventAct: document.title, 
     eventLab: $('select.custom-select').attr('name') 
     }); 
    } 
    }); 
}); 

“eventLab” 被触发仅 “受试者”。不是“国家”

不确定是否使用jQuery代码调用通用元素是错误的。

+0

@Tushar - 错过了,而复制/粘贴 – TDG

回答

0

尝试在selectize()函数调用之外声明var name,然后在其中使用它。应该连线了name属性为onBlur事件:

$('.custom-select').each(function() { 

    var name = $(this).attr('name'); 
    var select = $(this).selectize({ 

    onChange: function(value) { 
     Forms.onChangeSelectValue(value, select); 
    }, 

    onBlur: function(){ 
     Analytics.pushData({ 
     eventCat: 'Form', 
     eventAct: document.title, 
     eventLab: name 
     }); 
    } 
    }); 
}); 
+0

这是因为你的jQuery选择的仍。尝试使用'this'并看看会发生什么。 – Chizzle

+0

获取“未定义”...如果我使用$(this).attr('name'); – TDG

+0

请参阅编辑。我没有看到我的原始答案,这是一个函数内的函数内功能 – Chizzle

0

$('select.custom-select').change(function(){ 
 
$('#span').text($(this).attr('name')) 
 

 

 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<label>Subject</label><br /> 
 
<select name="subject" class="custom-select"> 
 
    <option value="">enquiry?</option> 
 
    <option value="1">General enquiry</option> 
 
    <option value="others">Others</option> 
 
</select> 
 

 

 
<label>Country</label><br /> 
 
<select name="Country" class="custom-select"> 
 
    <option value="Australia" selected="selected">Australia</option> 
 
    <option value="2">New Zealand</option> 
 
</select> 
 

 

 
<span id='span'></span>

使用$(this).attr('name')

相关问题