在我的 Controller 中,我动态创建 slider html 以传递到我的 View - 所以我最终会得到多个 slider (可以是 1 个 slider ,可以是 20 个 slider ,或中间的任何数字 - 取决于数据库的查询) 。
我需要将每个 slider 与其在数据库中的 ID 以及价格关联起来。
ExtraPrices 数组保存与每个 slider 关联的价格。 ExtraIDs 数组保存数据库中每个额外项目的 ID。
我想创建一个 JSON 字符串,其中保存每个 slider 的设置,并获取 ExtraPrice 和 ExtraID,这样我就有了一个 JSON 字符串,可以发送回我的代码。
HTML 输出为:
<script>
var ExtraPrices = [20.00,30.00,50.00];
var ExtraIDs = [13,19,25];
</script>
<label for="slider1">item 1</label>
<input type="range" name="slider1" id="slider1" min="0" max="10" value="0">
<label for="slider2">item 2</label>
<input type="range" name="slider2" id="slider2" min="0" max="10" value="0">
<label for="slider3">item 3</label>
<input type="range" name="slider3" id="slider3" min="0" max="10" value="0">
我需要能够循环遍历两个数组,并将它们与相对 slider 值联系起来。伪代码:
var count = 0;
var strJSon = "["
"RoomName": null,";
$.each('#slider').function(){
strJSon+= "{"
strJSon+= "\"ID\": " + ExtraIDs[count] + ",";
strJSon+= "\"Price\": " + ExtraPrices[count] + ",";
strJSon+= "\"Number\": " + SliderX.slider("option", "value");
strJSon+= "},"
}
//Remove last comma
strJSon = strJSon.Substring(0, strJSon.LastIndexOf(","));
strJSon+= "]"
所以我最终得到的 strJSon 类似于:
[{
"ID":13,"Price":20.00,"Number":4,
"ID":19,"Price":20.00,"Number":2,
"ID":25,"Price":20.00,"Number":5
}]
任何人都可以帮助我使用上面的 Javascript 代码循环遍历每个 slider ,并构建上面提到的 JSON 字符串吗?
谢谢,
标记
最佳答案
不要自己构建 JSON,创建一些对象,将它们添加到数组中,然后 JSON.stringify
结果。
var arr = [];
$.each('#slider').function(i) {
var obj = {
id: ExtraIDs[count],
price: ExtraPrices[count],
number: window['Slider' + i].slider("option", "value")
};
arr.push(obj);
});
JSON.stringify(arr);
关于javascript - JQuery/Javascript 循环遍历 JQuery Mobile slider 并根据其值创建 JSON 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18788802/