如何使用JavaScript函数增加名称属性数组

时间:2018-08-28 07:11:26

标签: javascript arrays multidimensional-array

无论何时调用函数,我都想增加name属性的值。下面,我添加了所有代码,通过这些代码,我使用jQuery clone函数添加了新的文本框。希望现在一切都清楚了。

 

function addQuestion(){
 var question = jQuery('#question-template').clone();  
 question.css("display","block").removeAttr('id');
 jQuery('#questions').append(question);
}    

function renameQuestions(){
 jQuery('.question-box').each(function(i,v){
  jQuery(this).find('.question_id').html(i);
 });
}

jQuery('#add-question').on('click', function(e) {
 e.preventDefault();
 addQuestion();
 renameQuestions();
});
 
jQuery(document).on('click','.del-question', function(e)
{
 e.preventDefault();
 jQuery(this).closest('.question-box').remove();
 renameQuestions();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="text" name="quiz[0][english][ques_title]" class="ques_title" placeholder="Enter question title" value="">
<textarea name="quiz[0][english][ques_desc]" class="ques_desc" rows="4" placeholder="Explaination here...."></textarea>
<a id="add-question" class="button" href="#">Add</a>
<a class="del-question button" href="#" data-id="1">Remove</a>

我想增加值quiz [0],每当单击添加问题按钮时,我尝试使用PHP在JS函数中添加一个PHP变量。但是后来我知道它是行不通的,因为一个是服务器端,另一个是客户端脚本。

1 个答案:

答案 0 :(得分:0)

演示:http://jsfiddle.net/GCu2D/5163/

JS:

function renameQuestion() {
    var question = $(".question-box:last");
    var total_question = parseInt((".question-box input:first").attr("name").replace( /^\D+/g, ''))+1;
    question.find("input").each(function() {
      var elem = $(this);
      elem.attr("name", elem.attr("name").replace(/[0-9]/g, total_question));
    });
  }

这应该可以解决您的问题。