2016-08-15 2 views
1

я хочу создать ярлыки динамически, используя для петель ... это то, что я сделал, и он не работает, пожалуйста, помогите мне решить эту проблемуя хочу создать этикетки с помощью JQuery через цикл

$(document).ready(function() { 
    function create_labels(strt, end, overlay_body) { 
     for (var i = strt; i < end; i++) { 
      var labels=jQuery('<label id=lbl>hahahahha</label>'); 
      labels.appendTo(overlay_body); 
     } 
    } 
}); 

var strt = 9; 
var end = 17; 

var overlay_body = jQuery('<div id=overlay_body></div>'); 
overlay_body.appendTo(document.body); 
create_labels(strt,end,overlay_body); 
+0

Функция это 'get_labels' не' create_labels', и он скрыт от того места, где вы его вызываете, потому что вы вложили его в обратный вызов 'ready'. Кроме того, где вызывающий абонент получает 'strt' и' end'? –

+0

... и, пожалуйста, чисто отступы ваш код. Используйте http://jsbeautifier.org, если вы не знаете, как это сделать. –

+0

@squint проверить отредактированный вопрос – iqra

ответ

0

Вы должны узнайте, как отлаживать ваш javascript-код. Если вы проверили консоль браузера, вы точно знаете, в чем проблема. Чтобы открыть консоль браузера в Google Chrome, вы можете нажать Ctrl + Shift + J.

Проблема заключается в том, что функция create_labels() не доступна вне от JQuery нагрузки function.One способ исправить это, чтобы переместить логику, которая вызывает эту функцию внутри Jquery нагрузки:

$(document).ready(function() { 
    var strt = 9; 
    var end = 17; 

    function create_labels(strt, end, overlay_body) { 
     for (var i = strt; i < end; i++) { 
      var labels = jQuery('<label id=lbl>hahahahha</label><br />'); 
      labels.appendTo(overlay_body); 
     } 
    } 

    var overlay_body = jQuery('<div id=overlay_body></div>'); 
    overlay_body.appendTo(document.body); 
    create_labels(strt, end, overlay_body); 
}); 
Смежные вопросы