我有以下代码是输入表单。
<div class="input_wrap">
<div class="questions-field row">
<label class="col-md-12" for="">
<input type="text" name="questions[]" class="form-control">
</label>
</div>
<button class="add_field_button">Add More input </button>
</div>
我在点击按钮后使用jQuery生成新输入。 JS看起来如下:
$(document).on("click", ".remove_field", function () {
$(this).parent().remove();
});
$(document).ready(function () {
$(".add_field_button").click(function (e) {
e.preventDefault();
$(".input_wrap>div").append('<label class="col-md-12"for=""><a href="#" class="remove_field">Remove</a><input type="text" name="questions[]" class="form-control col-md-10"></label>'); //add input box
});
});
所以每个人都可以正常工作,我使用PHP来获取包含填充输入的数组(问题[])。
所以,当我填充5个输入时,我得到的数组看起来像:
Array
(
[0] => rgerg
[1] => qwd
[2] => ffr
[3] => fffffffffffffff
[4] => ggggggggggggg
)
我想要的是动态地添加一个而不是2个输入,其中第一个是问题,第二个是答案。类似的东西:
Array
(
[0] => array('rgerg','text associated to rgerg')
[1] => array('qwd','text associated to qwd')
[2] => array('ffr','text associated to ffr')
.
.
.
)
怎么做?提前谢谢。
答案 0 :(得分:1)
如果您在名称中为两个字段指定相同的索引,则可以将问题与相应的答案相关联。例如,使用此name
属性
问题:
<input type="text" name="questions[0][]" value="Question 1" />
答案:
<input type="text" name="questions[0][]" value="Answer 1" />
(是的,名字完全相同)
PHP端的结果$_POST
将具有所需的结构:
Array
(
[questions] => Array
(
[0] => Array
(
[0] => Question 1
[1] => Answer 1
)
[1] => Array
(
[0] => Question 2
[1] => Answer 2
)
)
)
当然,您需要在每个问题的名称中增加索引:
name="questions[0][]" // First question
name="questions[1][]" // Second question
name="questions[2][]" // Third question
答案 1 :(得分:1)
您可以添加问题和相应的答案,如下所述:
<input type="text" name="quiz[0][question]" class="form-control">
<input type="text" name="quiz[0][answer]" class="form-control">
<input type="text" name="quiz[1][question]" class="form-control">
<input type="text" name="quiz[1][answer]" class="form-control">
<input type="text" name="quiz[2][question]" class="form-control">
<input type="text" name="quiz[2][answer]" class="form-control">
$ _ POST将在数组下面返回:
Array
(
[quiz] => Array
(
[0] => Array
(
[question] => ques1
[answer] => ans1
)
[1] => Array
(
[question] => ques2
[answer] => ans2
)
[2] => Array
(
[question] => ques3
[answer] => ans3
)
)
)