如果已经设置了jquery滑块的值,如何设置它的值

时间:2011-10-13 23:19:30

标签: jquery asp.net jquery-ui

我有一个jquery滑块和一个存储该值的文本框。我正在运行一个asp.net应用程序,并希望加载带有值的文本框(如果已经存储了一个并且滑块反映了该值)。我认为jquery中的一个简单的if语句会这样做,但我不熟悉这个函数。

这是我目前的jquery:

    $("#cultureSlider").slider({
    value: 50,
    min: 1,
    max: 100,
    step: 1,
    slide: function (event, ui) {
        $(".cultureScore").val("" + ui.value);
    }
});

我认为这样的事情会奏效(但事实并非如此):

    $("#cultureSlider").slider({
    if($(".cultureScore").val() == 50){
       value: 50,
    } else {
       value: $(".cultureScore").val(),
    }
    min: 1,
    max: 100,
    step: 1,
    slide: function (event, ui) {
        $(".cultureScore").val("" + ui.value);
    }
});

3 个答案:

答案 0 :(得分:3)

我非常确定if语句在您获得的情况下无效,我认为您的检查无论如何都是多余的,ifTRUE还是{{} 1}}你总是要使用FALSE

$(".cultureScore").val()

答案 1 :(得分:2)

我认为您的语法错误...尝试内联if(忘记技术术语)或在滑块实例化之外执行计算。

方法一

$("#cultureSlider").slider({
    value: ($(".cultureScore").val() == 50 ? 50 : $(".cultureScore").val()),
    min: 1,
    max: 100,
    step: 1,
    slide: function (event, ui) {
        $(".cultureScore").val("" + ui.value);
    }
});

方法二

var scoreVal = 0;
if($(".cultureScore").val() == 50)
    scoreVal = 50;
else
    scoreVal = $(".cultureScore").val();

$("#cultureSlider").slider({
    value: scoreVal,
    min: 1,
    max: 100,
    step: 1,
    slide: function (event, ui) {
        $(".cultureScore").val("" + ui.value);
    }
});

答案 2 :(得分:0)

为什么不这样做:

var myVal = ($(".cultureScore").val() == 50) ? 50 : $(".cultureScore").val();
$("#cultureSlider").slider({
    value: myVal,
.
.
.