2014-02-12 1 views
0

Этого кода, чтобы генерировать входной элемент с JQuery и количество элемента вычисляется из времен двух других входногоСгенерированные входной элемент с JQuery и для функции

$('#generate').click(function() { 
var a = parseInt($('#row').val()); 
var b = parseInt($('#col').val()); 
var val = a*b; 

var innerhtml = ''; 
for (var i = 0; i < val; i++) { 
    innerhtml += "<input type='text' class='seat' id='" + (i + 1) + "' name='" + (i + 1) + "'>"; 
     for (var j = 0; j = a; j++) { 
      innerhtml += "xxx"; 
     } 
} 
$('#textbox_div').html(innerhtml); 
}); 

Если я заполнить входной #row и #col с 2 & 3, jquery сгенерирует 6 элементов (2 * 3 = 6). Выходной сигнал будет выглядеть следующим образом:

  • Вход 1
  • вход 2
  • вход 3
  • вход 4
  • вход 5
  • вход 6

Из кода выше, как получить выход вроде этого (добавьте xxx каждый после 2 строки):

  • Вход 1
  • вход 2
  • ххх
  • вход 3
  • вход 4
  • ххх
  • вход 5
  • Вход 6

ответ

0

Как это:

var a = 4; //parseInt($('#row').val()); 
var b = 2; //parseInt($('#col').val()); 
var val = a*b; 

var innerhtml = ''; 
for (var i = 0; i < val; i++) { 
    innerhtml += "<input type='text' class='seat' id='" + (i + 1) + "' name='" + (i + 1) + "'>"; 
    if (i < val - 1 && i % 2 === 1) { 
     innerhtml += "xxx"; 
    } 
} 
$('#textbox_div').html(innerhtml); 

Как вы можете видеть, что я заменил свою внутреннюю for петлю на if заявления. Он проверяет две вещи:

  1. Не ставить "ххх" до конца
  2. Оставшаяся часть I/2 составляет 1

Demo jsfiddle HERE. Демо с переменным размером xxx HERE

+0

Как насчет того, чтобы поместить «xxx» в каждый «var a» раз? – cutez7boyz

+0

Я добавил вторую скрипку, чтобы продемонстрировать это (переменная 'n'). – zord

+0

Определенно, что я хочу, спасибо за объяснение. – cutez7boyz

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