在JQuery输出中向正数添加加号“+”

时间:2015-04-14 20:03:35

标签: javascript jquery jquery-ui

我有一个修改过的Jquery UI Slider Bar(-100到+100)。当用户上下移动滑块时,它们通过<div id="slider-result"></div>

接收视觉反馈

目前slider-result会在数字为负时显示-符号,例如-47,但当数字为正时,它不会显示+符号,例如61

如何slider-result在数字为正数之前立即显示+符号?

I have looked at this question但是当我尝试整合解决方案时,当数字为正数时会显示+,但会停止显示数字...

我的尝试

slide: function(event, ui) { 
  $("#slider-result").html(ui.value>0?'+':'') + ui.value;

任何帮助都是一如既往的,非常有用。感谢

修改 - 我的完整代码

$('#submit').click(function() {
    var username = $('#hidden').val();
    if (username == "") username = 0;  //SHOULD THIS STILL BE 0?
    $.post('comment.php', {
        hidden: username
    }, function(return_data) {
        alert(return_data);
    });
});

$(".slider").slider({
    animate: true,
    range: "min",
    value: 0,
    min: -100,
    max: +100,
    step: 1,

    slide: function(event, ui) { 
      $("#slider-result").html(ui.value>0?'+':'') + ui.value;

      //this updates the hidden form field so I can submit the data using a form
      if($(this).attr("id") ==  "one")
          $("#hidden1").val(ui.value);
    }
});

2 个答案:

答案 0 :(得分:1)

您还必须在括号内包含+ ui.value;

$("#slider-result").html((ui.value>0?'+':'') + ui.value);

由于'+'方法中只有''html(),因此它只会放置这些值而不包含实际值。

答案 1 :(得分:1)

你只需要将ui.value放在html函数中:

$("#slider-result").html(ui.value>0?'+' + ui.value:'' + ui.value);

<强> jsFiddle example