Разница между идентификатором и классом заключается в том, что идентификатор может использоваться для
идентифицировать один элемент, в то время как класс может быть использован для идентификации более
чем один.
Так что вы должны изменить идентификатор с классом
Вот ваш код:
<button type='button' id='button' data-toggle='modal' data-target='#myModal'>" + "Click me!" + "</button>
Вот модифицированный код:
<button type='button' class='button' data-toggle='modal' data-target='#myModal'>" + "Click me!" + "</button>
Также у вас есть цикл, в котором вы пытаетесь прикрепить событие к кнопке # щелчок, который прикрепляет несколько событий к кнопке #, и когда вы нажимаете кнопку, она срабатывает много раз, поэтому, если вы хотите избежать этого много раз огонь, вы должны прикрепить событие вне цикла.
for (i = 0; i < radio.length; i++){
var qb = radio[i].name;
document.getElementById('box').innerHTML += "<div class='box2'>" + radio[i].name + "<br>" + radio[i].address + "<br> <button type='button' id='button' data-toggle='modal' data-target='#myModal'>" + "Click me!" + "</button></div>";
}
$(document).ready(function(){
$("#button").click(function(){
$("#main-content").html(qb);
});
});
Также, если вы хотите показывать radio.name в контенте, когда нажимаете кнопку, вы должны использовать data-attribute, это мой совет. измените свой код следующим образом:
for (i = 0; i < radio.length; i++){
var qb = radio[i].name;
document.getElementById('box').innerHTML += "<div class='box2'>" + radio[i].name + "<br>" + radio[i].address + "<br> <button type='button' class='button' data-toggle='modal' data-target='#myModal' data-radio-name='" + qb + "'>" + "Click me!" + "</button></div>";
}
$(document).ready(function(){
$(".button").click(function(){
$("#main-content").html($(this).data('radio-name'));
});
});
Хранить произвольные данные, связанные с сопоставленными элементами, или возвращать
значение в именованном хранилище данных для первого элемента в наборе
согласованные элементы.
https://api.jquery.com/data/