У меня проблема с jQuery.knob Мне нужно добавить Sufixx к значению в ручке.
Например: мне нужно Sufix $ после значения, я просто помещаю в поле значения его отображение, но в это время ручка не отображает статус.
он не отображает статус регулятора. (но отображается суффикс).
вот код:
<input type="text" class="ksta" value="<?php echo stat;?> $" data-width="50" />
без суффикса, который он отлично работает, помогите мне решить эту проблему.
Ссылка Jsfiddle для моей проблемы:
http://jsfiddle.net/renishar/DWvsh/19/
в jsfiddle он работает без знака $ , но не работает со значением $ sign.
(знак $ может быть любым значением или символом)
Попробуйте это простым способом,
jQuery(document).ready(function($){ $('.ksta').knob({ 'min':0, 'max':100, 'step': 1, 'displayPrevious': true, 'readOnly': true, 'draw' : function () { $(this.i).val(this.cv + '%'); } }); });
Нет необходимости менять стили и другие детали …..
Ваш код фактически не работает, потому что 51$
не является допустимым номером int, поэтому он отображает 0.
Поскольку плагин фактически не реализует никакой функции префикса / суффикса, я построил небольшой взлом, чтобы в draw
вызове draw
:
Запрос: https://github.com/aterrien/jQuery-Knob/issues/65
Код:
'draw': function () { if ($(this.i).siblings(".kb-suffix").length > 0) return var pos1 = parseInt($(this.i).css("marginLeft").replace('px', '')); var pos2 = parseInt($(this.i).css("marginTop").replace('px', '')); var $elem = $("<span>$</span>").attr("style", $(this.i).attr("style")).addClass("kb-suffix"); $elem.insertAfter(this.i).css({ marginLeft: (pos1 + 20) + "px", marginTop: (pos2 + 3) + "px", zIndex: -10 });
<input type="text" class="ksta" value="51" data-width="80" data-thickness="0.2"/> jQuery(document).ready(function($){ $('.ksta').knob({ 'min':0, 'max':100, 'step': 1, 'readOnly': false, 'data-linecap': 'round' }); $('.ksta').each(function(e){ $(this).val($(this).val()+'$'); }); });
Что касается версии 1.2.8 ручка (ток записи), просто используйте функцию формата
jQuery(document).ready(function($){ $('.ksta').knob({ 'min':0, 'max':100, 'step': 1, 'readOnly': false, 'data-linecap': 'round', 'format': function(v){ return v + ' $';} }); });