Как создать только определенное количество строк - PullRequest
0 голосов
/ 21 декабря 2011

У меня есть фрагмент кода, где пользователь может добавить новую строку в таблицу:

Ниже приведен код:

var qnum = 1;

function insertQuestion(form) {

    var $tr = $("<tr></tr>");
    var $qid = $("<td class='qid'>" + qnum + "</td>");
    var $options = $("<td class='option'></td>");

    $('.gridTxt').each(function() {
        var $this = $(this);
        var $optionsText = $("<input type='text' class='gridTxt' readonly='readonly' /><span href='#' class='showGrid'>[Open Grid]</span>").attr('name', $this.attr('name')).attr('value', $this.val())
        $options.append($optionsText);
    });

    $tr.append($qid);
    $tr.append($options);
    $('#qandatbl').append($tr);

    form.numberOfQuestions.value = qnum;

    ++qnum;
    $("#questionNum").text(qnum);
    form.questionText.value = "";


}

Что я хочу сделать, хотя этосоздать только определенное максимальное количество строк.Максимальное количество строк, которое может быть добавлено, должно соответствовать количеству, опубликованному на другой странице:

{$_POST['textQuestion']}

Так, например, если число $_POST['textQuestion'] равно 20, то не более 20строки могут быть созданы.

Как это можно сделать?

1 Ответ

1 голос
/ 21 декабря 2011

Если этот JS встроен в файл PHP, вы можете добавить строку к своей функции JS, например

function insertQuestion(form) {
    if (qnum>=<?php echo (int)$_POST['textQuestion']; ?>) return();

    // the rest of your code
    ++qnum;
}

Это будет выглядеть как:

function insertQuestion(form) {
    if (qnum>=20) return();

    // the rest of your code
    ++qnum;
}

ИЛИ


Если JS не встроен в ваш PHP, вам нужно установить соответствующую переменную JS из PHP .. возможно, вот так ...

<script type="text/javascript">
    var maxRows=<?php echo (int)$_POST['textQuestion']; ?>;
</script>

тогда в вашем файле JS ...

function insertQuestion(form) {
    if (qnum>=maxRows) return();

    // the rest of your code
    ++qnum;
}
...