在jquery knob release上运行函数

时间:2013-07-30 14:38:59

标签: jquery html forms jquery-knob

我有一个计算估算值的表单。我希望销售人员能够使用jquery-knob按百分比标记估计值。我已经完成了所有工作,但我希望在释放旋钮时更改值,或者更改其中任何一个,因此他们不必再次点击计算按钮。我无法通过查询旋钮在发布或更改时触发任何内容,我确信我在这里遗漏了一些非常简单的东西,但它只是让我感到厌烦。

这是输入元素本身:

<input type="number" name="adjust" id="adjust" value="100" data-min="75" data-max="125" data-step="2" class="dial notstored adjuster" data-width="150" data-cursor=true data-thickness=.4 data-fgColor="#1C5C67" data-inputColor="black" data-bgColor="#FBFBFB"/>

以下是我尝试过的一些调用,第一个完全不遵循旋钮自述文件(编辑:我也尝试将这些调用文件准备好):

<script>
$("#adjust").change(function () {
                alert('monkey')
            });
</script>

这里有一个使用旋钮文档:

<script>
$("#adjust").knob({
                'release' : function () { alert('monkey'); }
            });
</script>

我已经尝试了很多其他各种各样的论文,但它只会使这篇文章比现在更长。感谢您提供任何指导。

编辑:解决了。如果你在一个表单中有多个这些,并且你基于类调用它们,但是应该在发布时触发它,确保它是由ID调用的,并且没有该类。

1 个答案:

答案 0 :(得分:0)

对不起!我几乎在2019年看到这个:2020年! :D 谢谢安东尼·特里恩! 我真的不喜欢数字输入形式的微调器,就像许多东西不能正常工作

好吧,这是我的愿景,这些机器将如何取代微调机: (仅当您将此代码放置在适当的html文档中时,只需单击/推入内部进行编辑

    <div class="py-5 text-center pi-draggable" draggable="true">
    <div class="container">
      <div class="row">
        <div class="col-md-4">
          <input type="text" class="  " data-cursor="true" value="56" onfocus="thisknob(this);">
        </div>
        <div class="col-md-4">
          <input type="text" class="  " data-cursor="true" value="56" onfocus="thisknob(this);">
        </div>
        <div class="col-md-4">
          <input type="text" class="  " data-cursor="true" value="56" onfocus="thisknob(this);">
        </div>
      </div>
    </div>
  </div>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"> </script>

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jQuery-Knob/1.2.13/jquery.knob.min.js"> </script> <script>
    var current = null;

    function thisknob(what) {
      target = what;
      if (current != null) resetknob();
      current = $(what).knob({
        min: 0,
        max: 300,
        stopper: true,
        'release': function(v) {
          // console.log('da');
          resetknob();
        }
      });
    }

    function resetknob() {
      value0 = $(current[0]).find('input')[0].value;
      //console.log($(current[0]));
      $(current[0]).parent().html('<input type="text" class="  " data-cursor="true" value="' + value0 + '" onfocus="thisknob(this);" >');
      current = null;
    }
  </script>