2013-11-18 5 views
0

Я вызываю две отдельные функции для генерации динамических текстовых полей, одна из которых работает нормально, тогда как другая не работает, хотя код для создания текстовых полей такой же, кроме имен переменных и названий ярлыков. Может кто-нибудь, пожалуйста, дайте мне знать, что я делаю неправильно, и как я могу это понять?Вызов нескольких функций для создания текстовых полей на одной странице

это функция, которая не работает.

  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/

+1

http://jsbeautifier.org/ – leaf

ответ

1

Есть 2 проблемы. Идентификатор кнопки - это addmatrix, а массив - arrayArray, а не MatrixArray. Метод должен выглядеть следующим образом:

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

О, это хороший человек. Чувствительность к регистру сумасшедшая. Итак, теперь ясно, что мы можем назвать столько же функций на одной странице без каких-либо проблем, это здорово. –

+0

приятный, два случая чувствительных ошибок = p я заметил только один ха-ха: p –

1

Я заметил ошибку в вашем JSFiddle увидеть идентификатор вашей кнопки «матрица» оно addmatrix и вы связующая onClick события addMatrix и события JavaScript связывания с помощью ID является чувствительно к регистру, поэтому событие не будет связываться.

Возможно, это решит вашу проблему, потому что это предотвратило выполнение события click.

+0

После событий нажмите будет генерировать два текстовые поля, как я передаю л в качестве параметра в функции CreateMatrixInput. Хотя такая же функция я использую, и ее работа прекрасна, если вы посмотрите на http://jsfiddle.net/qqqyC/1/ –

+0

Я обновил jsfiddle http://jsfiddle.net/qqqyC/2/ –

+0

см. Edit @ waseem –

Смежные вопросы