атрибуты data
Доброго времени суток.
На странице есть элемент select с 3мя option. У каждого option усть по 2 атрибута data. Не получается передать значения data в js. Вот код Код JavaScript var plat_pb; var plat_otb; function updatePlat() { $('[name=oplata] option').each(function() { if($(this).text() == $('[name=oplata]').val()) { plat_pb = parseFloat($(this).attr("data-pb")); plat_otb = parseInt($(this).attr("data-otb")); } }); } Код HTML <td><select name="oplata"> <option data-pb="1.01" data-opt="0"> 1</option> <option data-pb="1" data-otp ="0.75">2</option> <option data-pb="1" data-otp ="0">3</option> </select></td> Судя по всему проблема в том , что не попадает в if, но я никак не могу понять в чем причина. |
Ну и огород. Во-первых, не нужно так искать выбранный опшн.
Во-вторых метод $(this).data() сам возьмет значение из data-атрибута: var option = $('[name=oplata]').prop('selectedOption'); // или может $('[name=oplata] option:checked'); plat_pb = $(option).data("pb"); plat_otb = $(option).data("otb"); |
Valentinka_1,
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <script src="http://code.jquery.com/jquery-1.9.1.js"></script> </head> <body> <table> <td><select name="oplata"> <option data-pb="1.01" data-opt="0"> 1</option> <option data-pb="1" data-opt="0.75">2</option> <option data-pb="1" data-opt="0">3</option> </select></td> </table> <input type="button" value="go"> <script> var plat_pb; var plat_opt; $('input').click(updatePlat) function updatePlat() { var selected = $('[name=oplata] option:selected'); plat_pb = selected.data('pb'); plat_opt = selected.data('opt'); alert([plat_pb,plat_opt]) } </script> </body> </html> |
Цитата:
|
Часовой пояс GMT +3, время: 00:11. |