我有一个像这样的小代码:
<div class="question_wrapper">
<input type="text" class="textinput_questions new_question" name="new_question[1][]">
<input type="checkbox" class="radioinput" name="new_questionActive[]">
</div>
我在循环中生成这些输出,工作正常。 1
中的硬编码name="new_question[1][]"
最多为3,因此我喜欢该模式中的3个索引。
现在,我想通过jquery运行一个ajax-request,看起来像这样:
$('.new_question').each(function() {
// for each added question, we call a script which then inserts the new questions
console.log(this);
});
到目前为止,这是有效的,因为在我的控制台中打印了正确的元素。但是,由于我需要索引的第一级,我需要以某种方式获得该值,因为这将是一个paremeter,稍后将传递给上面提到的ajax函数。
再次澄清:
我想要遍历所有问题。对于每个问题,我使用这些特定值创建一个ajax-Request。我需要第一个数组索引(在上面的代码中写为1
。如果我想要3个问题,所有索引1和2都有索引2,我应该最终得到一个运行的循环5次,将(虚构的)变量categoryID
定义为1(前3次运行),将2次定义为接下来的2次。
修改
因为它似乎有点不清楚,1句话中的基本内容:我需要从这样的模式中获取值(在我的情况下为1
):
<input type="text" class="textinput_questions new_question" name="new_question[1][]">
迭代each
- 循环。
答案 0 :(得分:0)
好的,我们可以做的是遍历每个元素并获取name属性值,然后删除除数字之外的所有内容
$('.new_question').each(function() {
console.log($(this).prop('name').match(/\d+/).toString());
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="textinput_questions new_question" name="new_question[1][]">
<input type="text" class="textinput_questions new_question" name="new_question[2][]">
<input type="text" class="textinput_questions new_question" name="new_question[3][]">
&#13;