我无法抓住选项标签值传递到第一个位置数组。我不确定是否必须在选项标记值上使用parseInt()
。我想将数据数组的第一个位置(data[4])
转换为$(this).attr('value')
的选项标记值定义。
这里是代码:
HTML
<select id="sel" style="width: 300px">
<option value="1">Alejandro / Sergio</option>
<option value="3">Ángel / Pilar</option>
</select>
JQUERY
var ctx = $('#myChart');
var myChart = new Chart(ctx, {
type: 'doughnut',
data: {
labels: ["Red", "Blue"],
datasets: [{
data: [4, 2],
label: '# of Votes',
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
'rgba(54, 162, 235, 0.2)'
],
}]
},
});
$('#sel').on('change', function(){
***var data = parseInt($(this).attr('value'));
myChart.data.datasets[0].data[0] = data;***
myChart.update();
});
答案 0 :(得分:1)
它应该是下拉列表
var data = parseInt($(this).val());
而不是
var data = parseInt($(this).attr('value'))
select-dropdown
没有任何属性value
,而是option
中的select-dropdown
标记具有属性value
并获取所选选项的值您只需在点击事件
$('#element_id').val()
或$(this).val()
即可