Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.07.2013, 12:28
Аспирант
Отправить личное сообщение для Valentinka_1 Посмотреть профиль Найти все сообщения от Valentinka_1
 
Регистрация: 09.09.2012
Сообщений: 38

атрибуты 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, но я никак не могу понять в чем причина.
Ответить с цитированием
  #2 (permalink)  
Старый 17.07.2013, 13:07
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Ну и огород. Во-первых, не нужно так искать выбранный опшн.
Во-вторых метод $(this).data() сам возьмет значение из data-атрибута:
var option = $('[name=oplata]').prop('selectedOption');
        // или может $('[name=oplata] option:checked');
        plat_pb = $(option).data("pb"); 
        plat_otb = $(option).data("otb");
Ответить с цитированием
  #3 (permalink)  
Старый 17.07.2013, 13:14
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

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>

Последний раз редактировалось рони, 17.07.2013 в 13:19.
Ответить с цитированием
  #4 (permalink)  
Старый 17.07.2013, 13:16
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от Valentinka_1
attr("data-otb"));
нет такой буквы
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить все атрибуты <input> Kotakota jQuery 7 08.10.2012 18:22
load data infile kilogram Серверные языки и технологии 5 09.07.2012 13:25
Что за data??? macexa jQuery 3 12.09.2010 14:31
jQuery & атрибуты & валидатор micscr jQuery 7 29.12.2009 13:37
SWFUpload - undefined server data zipp3r Элементы интерфейса 0 25.10.2009 08:38