Установить идентификатор кнопки из javascript

У меня есть раскрывающийся список, который заполнен данными, полученными из БД. Мне нужно назначить выбранное значение индекса этого раскрывающегося списка в качестве идентификатора кнопки. Это действительно возможно?

мой код

<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>

возможно, что у вас не работает?

matiit 28.01.2019 12:06

вы должны установить data-id вместо id.

Devsi Odedra 28.01.2019 12:06
custbt не определен, поэтому document.getElementByName(custbt).id=cust; работать не будет.
Qirel 28.01.2019 12:08
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
3
118
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Идентификаторы должны начинаться с буквы.

<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'];?>">

Matthew Page 28.01.2019 12:10
Ответ принят как подходящий

Возможно, это решит вашу проблему. Я добавил класс для 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 } ?>
...

Другие вопросы по теме