2014-02-05 5 views
0

Здесь я пытаюсь вычислить значения на основе активного диапазона. Я отправил свои полные коды на jsfiddle. Span не доволен. И еще одна важная вещь: я предполагаю, что значения диапазона равны 40. Таким образом, если бы пользователь выбрал диапазон, он изменился бы на зеленый цвет. если пользователь нажимает другой интервал span#returndata должен быть 40 + 40 = 80. Если пользователь нажимает другой диапазон, результат должен быть 40 + 40 + 40 = 120.расчет диапазона с использованием jquery

Я пробовал под jQuery. Но я не получил результат ..

JsFiddle

JQuery

$(".text").click(function(){ 
    $(this).toggleClass('selected'); 
    $(function(){ 
     $('span#text').click(function(){ 
      value = 40; 
      var t = ('span#text').value; 
      var total = (t+t); 
      $('span#returndata').val(total); 
     }); 
    }); 
}); 
+0

У вас есть много ошибок в этом коде. Для начала используйте '.nameOfTheClass' для выбора элемента по классу. Затем не добавляйте привязку при каждом щелчке, и нет смысла использовать '$ (функция' там. И вы должны анализировать свои номера. –

+0

Зачем использовать готовый обработчик внутри обработчика кликов ??? И почему вложенность обработчика кликов внутри другого клика обработчик? –

ответ

6

Я обновил свой jFiddle, чтобы заставить его работать. http://jsfiddle.net/m89L4/6/

Лучше пересчитать значение каждый раз, когда пользователь нажимает кнопку на основании количества выбранных мест, потому что в противном случае вы можете получить несоответствия.

JS код

$(".text").click(function(){ 
    $(this).toggleClass('selected'); 
    var count = $('.selected').length; 
    var value = 40; 
    $('.returndata').text(value*count); 
}); 
+0

У меня есть еще одно сомнение. У меня есть другой div внутри тех же классов span. Но это значения - 80. Как это сделать? Вот обновленная скрипка http://jsfiddle.net/m89L4/19/ – Karuppiah

+1

Я обновил JSFiddle должен быть полностью гибким со значениями: http://jsfiddle.net/m89L4/21/ Просто добавьте атрибут value-value для каждого места и установите его на значение, которое должно представлять место. Сценарий повторяется по каждому выбранному месту и добавляет его значение к общему значению, которое будет напечатано на экране. Надеюсь, что смогу помочь вам. – markusthoemmes

+0

Спасибо, что он работает. Я всегда что-то пробовал, но это не работает. Ты действительно ответил мне очень быстро. Могу ли я узнать, сколько лет вы испытываете e в этом поле? – Karuppiah

0

Попробуйте один

$(".text").click(function(){ 
    $(this).toggleClass('selected'); 
      value = 40; 
      var t = parseInt($(this).text(),10); 
      var total = parseInt(value+t); 
      $('span.returndata').text(total); 
}) 
Смежные вопросы