Как увеличить массив атрибута name с помощью функции javascript - PullRequest
0 голосов
/ 28 августа 2018

Я хочу увеличивать значение атрибута name всякий раз, когда вызывается функция. Ниже я добавил весь код, с помощью которого я добавляю новые текстовые поля, используя функцию клона jQuery. Надеюсь, теперь все ясно.

 

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>

Я хочу увеличить значение теста [0], при каждом нажатии кнопки добавления вопроса я пытался с помощью PHP добавить переменную PHP в функцию JS. Но потом я узнал, что это не будет работать, потому что один - на стороне сервера, а другой - на стороне клиента.

1 Ответ

0 голосов
/ 28 августа 2018

Демо: 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));
    });
  }

Это должно решить вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...