jQuery简写如果否则通过滑块ui值定义

时间:2013-11-25 19:09:23

标签: jquery jquery-ui

通过jQuery UI幻灯片定义我想使用if else简写语句,但我不知道如何制作这个

我正在尝试以下但未通过

values: [price !=='undefined' ? price[0], price[1] : <?= $sel_minmax['price_min'] ?>,<?= $sel_minmax['price_max']

起点

   if(init_val.match(/price=[0-9]+;[0-9]+/)){
        var price = init_val.match(/price=[0-9]+;[0-9]+/);
        price = price[0].replace('price=','');
        price = price.split(';');
        price = price[0]+','+price[1];
        console.log(price);
    } else{
        price = <?= $sel_minmax['price_min'] ?> +','+ <?= $sel_minmax['price_max'] ?>;
    }

在这种情况下,滑块正在放置拖放和停止工作,也许我传递的值无法解释。 console.log(price)显示了所需示例值(123,345)

我将滑块值设置为

values: [price],

1 个答案:

答案 0 :(得分:0)

好的,您要设置price的内容无法解析,因为它不是有效的数据类型。您需要price才能成为值[123,345]数组或字符串'123,345'

因为你将它放在滑块中并且滑块需要一个数组,所以你需要这样做:

if(init_val.match(/price=[0-9]+;[0-9]+/)){
    var price = init_val.match(/price=[0-9]+;[0-9]+/);
    price = price[0].replace('price=','');
    price = price.split(';');
    price = [ price[0], price[1] ]; // creating an array of values
    console.log(price);
} else{
    price = [ <?= $sel_minmax['price_min'] ?>, <?= $sel_minmax['price_max'] ?> ];
}

然后将price作为值传递给`values':

values: price, // price is already an array, so pass it as is

至于使用三元运算符(虽然我不推荐这个,因为它根本不可读):

values: (typeof price !=='undefined') ? [price[0], price[1]] : [<?= $sel_minmax['price_min'] ?>,<?= $sel_minmax['price_max']],