我正在构建一个表单页面,每个人都可以创建自己的表单,我正在尝试构建一个选择器问题。我有这样的代码:
Q.push({
text: document.createElement("h3"),
divQ: document.createElement("div"),
divO: document.createElement("div"),
chooserButton: document.createElement("button"),
optionNum: 0
});
//var text = document.createElement("h3");
Q[qNum - 1].text.innerHTML = "question " + qNum + " - " + kind;
document.getElementById("question" + (qNum - 1)).appendChild(Q[qNum - 1].text);
//var chooserButton = document.createElement("button");
Q[qNum - 1].chooserButton.innerHTML = "add option";
Q[qNum - 1].chooserButton.className = "smallB";
Q[qNum - 1].chooserButton.type = "button";
Q[qNum - 1].optionNum = 0;
var g = "text!";
Q[qNum - 1].chooserButton.onclick = h.bind(o);
Q[qNum - 1].text.appendChild(Q[qNum - 1].chooserButton);//need to fix the div of the options
//var divO = document.createElement("div");
//var divQ = document.createElement("div");
Q[qNum - 1].divO.id = "O" + qNum + Q[qNum - 1].optionNum[qNum];
Q[qNum - 1].divQ.id = "question" + qNum;
Q[qNum - 1].text.appendChild(Q[qNum - 1].divO);
Q[qNum - 1].text.appendChild(Q[qNum - 1].divQ);
Q[qNum - 1].optionNum++;
}
qNum++;
function h(g) { alert("hello" + g);}
我怎样才能获得g?
这个h
函数只是我想要做的一个例子,但是如果你能修复它我将能够修复真正的函数,我不想显示它,因为它有它的自己的问题
答案 0 :(得分:0)
您可以在jquery中使用数据属性。
如下所示:
Q.push({
text: document.createElement("h3"),
divQ: document.createElement("div"),
divO: document.createElement("div"),
chooserButton: document.createElement("button"),
optionNum: 0
});
//var text = document.createElement("h3");
Q[qNum - 1].text.innerHTML = "question " + qNum + " - " + kind;
document.getElementById("question" + (qNum - 1)).appendChild(Q[qNum - 1].text);
//var chooserButton = document.createElement("button");
Q[qNum - 1].chooserButton.innerHTML = "add option";
Q[qNum - 1].chooserButton.className = "smallB";
Q[qNum - 1].chooserButton.type = "button";
Q[qNum - 1].optionNum = 0;
var g = "text!";
Q[qNum - 1].data("g", g); //Store the data under the key 'g'
Q[qNum - 1].chooserButton.onclick = h.bind(o);
Q[qNum - 1].text.appendChild(Q[qNum - 1].chooserButton);//need to fix the div of the options
//var divO = document.createElement("div");
//var divQ = document.createElement("div");
Q[qNum - 1].divO.id = "O" + qNum + Q[qNum - 1].optionNum[qNum];
Q[qNum - 1].divQ.id = "question" + qNum;
Q[qNum - 1].text.appendChild(Q[qNum - 1].divO);
Q[qNum - 1].text.appendChild(Q[qNum - 1].divQ);
Q[qNum - 1].optionNum++;
}
qNum++;
function h(g) { alert("hello" + $(this).data("g")) ;} //retrieve the data 'g'