我有一个选择元素,具有三个选项:

<select id="dimensions" onchange="showUpload(); setDimensions();">
    <option value="">Select dimension of the image</option>
    <option value="1" data-width="1600" data-height="1200">1600px x 1200px</option>
    <option value="2" data-width="600" data-height="400">600px x 400px</option>
</select>


现在,当我单击一个选项时,它将触发2个功能。第一个可以正常工作,但是第二个可以提醒我数据属性。但事实并非如此。

这是我的功能:

function setDimensions() {

    var width = $(this).attr("data-width");
    var height = $(this).attr("data-height");

    alert(width);


    $('#width').val($('#width').val() + width);
    $('#height').val($('#height').val() + height);

}


我究竟做错了什么?

编辑

我的showUpload函数:

function showUpload() {

    $(".upload-image").show();

}


作为插件:它发出警报:未定义。

想想这是否显示错误,我应该回到小学...

最佳答案

此关键字引用窗口对象。
您可以直接从尺寸中获取值。

function setDimensions() {
   var dimensions = $("#dimensions");
   var selectedIndex = dimensions.get(0).selectedIndex;
   var selectedOption = dimensions.find("option").eq(selectedIndex);
   var width = selectedOption .attr("data-width");
   var height = selectedOption .attr("data-height");

   alert(width);
}

07-28 10:08