У меня есть раскрывающийся список, который заполнен данными, полученными из БД. Мне нужно назначить выбранное значение индекса этого раскрывающегося списка в качестве идентификатора кнопки. Это действительно возможно?
мой код
<select name = "customer" onchange = "getCustomer()" id = "customer" class = "form-control" style = "width: 180px !IMPORTANT;">
<option value = "">--Select Customer--</option>
<?php
$sql = mysqli_query($db,"SELECT * FROM customer ");
while($row= mysqli_fetch_array($sql))
{
?>
<option value = "<?php echo $row['custid'];?>"><?php echo $row['customername'];?></option>
<?php
}
?>
</select>
</div>
<button name = "custbt" id = "1" class = "label-text col-form-label userinfo"><a href = "#vCenteredModal" data-toggle = "modal">Show customer details</a></button>
<script>
function getCustomer()
{
var e = document.getElementById("customer");
var cust = e.options[e.selectedIndex].value;
// alert(cust);custbt
//document.getElementByName("custbt").id=cust;
document.getElementByName(custbt).id=cust;
}
</script>
вы должны установить data-id вместо id.
custbt не определен, поэтому document.getElementByName(custbt).id=cust; работать не будет.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Идентификаторы должны начинаться с буквы.
<button name = "custbt" id = "a1" class = "label-text col-form-label userinfo"><a href = "#vCenteredModal" data-toggle = "modal">Show customer details</a></button>
var customer = document.getElementById("customer");
var a1 = document.getElementById("a1");
customer.addEventListener("change",function(){
a1.removeAttribute("id");
a1.setAttribute("id",customer.value);
});
И, возможно, заменить <option value = "<?php echo $row['custid'];?>"> на <option value = "a<?php echo $row['custid'];?>">
Возможно, это решит вашу проблему. Я добавил класс для btn call CustomerModalBttn .
Попробуй это
<select name = "customer" id = "customer" class = "form-control" style = "width: 180px !IMPORTANT;">
<option value = "">--Select Customer--</option>
<?php
$sql = mysqli_query($db,"SELECT * FROM customer ");
while($row= mysqli_fetch_array($sql)){
?>
<option value = "<?php echo $row['custid'];?>"><?php echo $row['customername'];?></option>
<?php
}
?>
</select>
<button name = "custbt" id = "1" class = "label-text col-form-label userinfo CustomerModalBttn">
<a href = "#vCenteredModal" data-toggle = "modal">Show customer details</a>
</button>
<script>
$(document).ready(function(){
$('#customer').on('change',function(){
$('.CustomerModalBttn').attr('id',$(this).val());
});
});
</script>
Просто добавьте некоторое условие if ($row['custid'] == $_GET['custid']) echo 'selected', если вы передаете идентификатор клиента из URL-адреса, а затем получите его с параметром $_GET.
...
while($row= mysqli_fetch_array($sql))
{ ?>
<option <?php if ($row['custid'] == $_GET['custid']) echo 'selected'; ?> value = "<?php echo $row['custid'];?>">
<?php echo $row['customername'];?>
</option>
<?php } ?>
...
возможно, что у вас не работает?