如何只创建一定数量的行

时间:2011-12-21 18:30:12

标签: jquery html-table

我有一段代码,用户可以在表格中添加新行:

以下是代码:

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 个答案:

答案 0 :(得分:1)

如果这个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中,你需要在PHP中设置相应的JS变量..就像这样......

<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;
}