调用多个函数在同一页面上生成文本框

Calling multiple functions to generate textboxes on same page

本文关键字:文本 一页 函数 调用      更新时间:2023-09-26

我正在调用两个独立的函数来生成动态文本框,其中一个函数运行良好,而另一个函数则不起作用,尽管生成文本框的代码除了变量名和标签名之外是相同的。有人能告诉我我做错了什么吗?我该怎么办?

这是一个不起作用的函数。

           var C = 3;
       var matrixArray = ["question", "mrank"];
       $("#addMatrix").click(function () {
         for(var j = 0; j < matrixArray.length; j++){
            createMatrixInput(MatrixArray[j]);
         }
         C++;
       });
function createMatrixInput(l){
            var tb_Div = $('#TextBoxes');
            var mstr = '<div class="control-group">';
            mstr += '<label class="control-label">' + l + " " + C + '</label>';
            mstr += '<div class="controls">';
            mstr += '<input type="text" id="' + l + '_' + C + '" name="'+ l +'_' + C + '" />';
            mstr += '</div>';
            mstr += '</div>';
            tb_Div.append(mstr);
        };

这是我的jsfiddle完整的代码。

http://jsfiddle.net/qqqyC/2/

有2个问题。按钮id是addmatrix,数组是matrixArray,而不是matrixArray。方法应该看起来像:

$("#addmatrix").click(function () {
    for(var j = 0; j < matrixArray.length; j++){
        createMatrixInput(matrixArray[j]);
        C++;
    }
});

我在您的JSFiddle中发现了一个错误,请查看您的按钮"矩阵按钮"的id,它是addmatrix,您正在将onClick事件绑定到addMatrix,通过ID绑定的javascript事件区分大小写,因此不会绑定该事件。

也许这将解决您的整个问题,因为它阻止了执行单击事件。