通过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],
答案 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']],