我正在编写一个多步形式。在这个表单的最后,我想有一个显示每个条目的值的div。有些声明需要格式化。例如,我将长度和宽度作为两个单独的输入,并希望将结果显示为长度X宽度。而其他人则都在一条线上。我希望每个条目旁边都有一个编辑按钮。
我的Html
<form>
<article id="part1">
<input type"text" name="input1" id="input1">
<input type"text" name="input1" id="input2">
<input type"text" name="input1" id="input3">
<input class="next button" type="button" value="Next">
</article>
<article id="part2">
<input type"radio" name="radio" id="input4">
<input type"radio" name="radio" id="input5">
<input class="next button" type="button" value="Next">
</article>
<article id="part3">
<div id="results"></div>
<input name="Submit" type="submit" class="next button submitLast" value="Order">
</article>
</form>
每当有人点击“input.next”时,下一篇文章就会出现。
当他们点击“article#part2”中的“input.next”时,会显示上一篇文章。 “div#results”中的文本应该是所有其他步骤中包含的内容,包括选择哪个无线电。每个条目都应该有一个允许该人跳回来的按钮。 #input2和#input3也应显示在一行上,如“#input2”+“x”+“#input3”,其余部分应在一行上。
我知道我可以使用.serializeArray()来显示结果,但这给我带来了两个问题。
现在我在显示上一篇文章时调用了这个函数。
function showValues () {
var line1 = $("#input1").val()
var line2 = $("#input2").val()+" x "+$("input3").val()
var option1 = $("#input4").is(":checked")
var option2 = $("#input5").is(":checked")
if (option1==true) {
var type = "option1"
}
if (option2==true) {
var type = "option2"
}
$("results").append(line1+"<br>"+line2+"<br>"+type);
}
但是如何添加编辑按钮并告诉它在点击时转到正确的文章?
答案 0 :(得分:0)
尝试以下代码
function showValues() {
var line1 = $("#input1").val()
var line2 = $("#input2").val() + " x " + $("#input3").val()
var option1 = $("#input4").is(":checked")
var option2 = $("#input5").is(":checked")
if (option1 == true) {
var type = "option1"
}
if (option2 == true) {
var type = "option2"
}
var data = new Array();
data[0] = { text: line1, edit: 0 };
data[1] = { text: line2, edit: 0 };
data[2] = { text: type, edit: 1 };
for (var i = 0; i < data.length; i++) {
$("#results").append(data[i].text);
$("#results").append("<input type='button' value='edit' onclick='changePage(" + data[i].edit + ")' /><br />");
}
}
function changePage(pageIndex) {
// Replace this with whatever code is needed to change the page
alert(pageIndex);
}
这与您的代码基本相同,只是数据首先放入数组(每个项目代表一行),然后一次插入一行。它还在每一行添加了编辑按钮。
注意插入的编辑按钮如何具有单击处理程序,该处理程序调用changePage方法并传递适当的页面索引值。
这可能只是一个错字,但你错过了两个jQuery选择器中的“#”。