我需要遍历ID和标签的数据集。我得到了一些正确的代码,但我需要一些帮助。
// 1. String
var string = '1:answer1,2:answer2,3:answer3,4:answer4,5:answer5,'
// 2. Split to array
var string = string.split(",");
// 3. EACH
$.each(string, function(key, val) {
var answer = answer.split(":");
$.each(answer, function(key1, val1) {
// output textfield with id of key1 and value of val1
});
});
我可以查看第一组数据,即逗号分隔,但不是下一个(:)。我该怎么做?
答案 0 :(得分:4)
应该是var answer= val.split(":");
而不是var answer = answer.split(":")
;
答案 1 :(得分:4)
$.each(string, function(key, val) {
var answer = val.split(":");
key1 = answer[0];
val1 = answer[1];
alert(key1+"--"+val1);
});
答案 2 :(得分:2)
您可以使用String.replace作为迭代器:
var string = '1:answer1,2:answer2,3:answer3,4:answer4,5:answer5,'
var html = []
string.replace(/([^:]+):([^,]+)(,|$)/g, function(_, key, val) {
html.push("<input name='" + key + "' value='" + val + "'>")
});
alert(html.join("\n"))
答案 3 :(得分:1)
当然,没有什么可以反对你自制的字符串,但是你是否考虑使用JSON来封装字符串中的数据。虽然JSON是普遍可用的,但它可能是JavaScript的完美匹配。
因此,如果您按如下方式对数据进行编码,那么解析它真的是件小事:
var data = [
{
"id": 1,
"answer": "answer1"
},
{
"id": 2,
"name": "answer2.. etc."
}
];
现在,您可以使用数组和属性表示法轻松访问数据:
alert (data[0].answer);
更新:因此,如果你很幸运并且你的Rails应用程序是在3.1版本上,那么添加对JSON的支持真的是小菜一碟:
对于基本的JSON支持,您唯一需要做的就是:
# GET /answers/1
# GET /answers/1.json
def show
@answer = Answer.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json do
render json: @answer
end
end
end