Здравствуйте, и я благодарю вас за то, что вы нашли время и прочитали мой вопрос.
Это мой первый пост, я постарался сделать его максимально полным и соответствовать ожидаемым требованиям публикации!
Мои настройки
У меня есть таблица данных, заполненная из базы данных mysql, в каждой строке есть кнопка «Редактировать».
Кнопка «Редактировать» открывает модал с данными из строки.Это все работает правильно.
В модальной форме у меня есть выпадающий элемент "select" с событием "onchange" для запуска сообщения.
Проблема
Из первого модального окна (открываемого с помощью кнопки «Редактировать» первой строки таблицы) сообщение вызывается без проблем - в модальном окне, связанном с первой строкой.
Но если я нажму накнопка «Изменить» в любой другой строке, чтобы запустить ее модально - и затем я изменяю значение выпадающего меню «выбрать», сообщение не отображается - как будто функция javascript не обрабатывается.
Мои исследованиядо сих пор
Потратив время на поиск и поиск в переполнении стека, я думаю, что проблема может быть связана с неуникальными идентификаторами или именами классов - и могут ли они быть разными для каждой строки записи?
Я пытался реализовать это, динамически генерируя имена идентификаторов и имена классов, используя идентификационный номер строки - так, чтобы у каждого модального стиля был свой уникальный идентификатор для элемента select, ноЭто не решило проблему.
Я также думаю, что это может быть проблема с кешем, когда скрипт удерживает старые данные, но это не имеет значения, если я нажму первую строку в первый раз, илиесли я щелкаю первую строку после щелчка нескольких других строк перед ней, только первая строка успешно обрабатывает событие onchange.
Мои файлы
index.php (для отображения таблицы данных и кнопок «Редактировать»)
<table>
<thead>
<th>Fruit ID</th>
<th>Fruit Name</th>
<th>Action</th>
</thead>
<tbody>
<tr>
<td><?php echo $row['fruitID']; ?></td>
<td><?php echo $row['fruitName']; ?></td>
<td>
<a href="#edit<?php echo $row['fruitID']; ?>" data-toggle="modal" class="btn btn-warning">Edit</a>
<?php include('button.php'); ?>
</td>
</tr>
</tbody>
</table>
button.php (модальное содержимое с помощью «select»)элемент и сообщение div)
<div class="modal fade" id="edit<?php echo $row['fruitID']; ?>" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-body">
<div class="row">
<div>
<select class="mySelector" id="mySelector" name="mySelector" onchange="show_value()">
<option value="Apple">Apple</option>
<option value="Orange">Orange</option>
<option value="Banana">Banana</option>
<option value="Mango">Mango</option>
</select>
</div>
</div>
<div class="row">
<div id="result"></div>
</div>
</div>
</div>
script (внизу button.php для запуска сообщения)
<script>
function show_value() {
selected_value = document.getElementById("mySelector").value;
document.getElementById("result").innerHTML = "Selected value is "+selected_value;
}
</script>