#javascript #php #html
#javascript #php #HTML
Вопрос:
Я получаю набор пользовательских ролей из базы данных с использованием PHP, и они помещаются в <select>
теги <option>
следующим образом:
<div class="col-md-3">
<select name="role" id="user_role" class="form-control" onkeyup="clearMsg('roleerr')" onchange="getRole()"/>
<option value="">Select a Role</option>
<?php while($rowrole = $resultrole->fetch(PDO::FETCH_BOTH)) { ?>
<option value="<?php echo $rowrole ['role_id']; ?>">
<?php echo $rowrole ['role_name']; ?>
</option>
<?php } ?>
</select>
<span id="roleerr" class="error">*</span>
</div>
И я хочу получить выбранное значение выпадающего списка «onchange», и для этого getRole()
написана функция javascript. Как это сделать?
Ответ №1:
При изменении элемента значение выпадающего списка будет установлено на значение, приписываемое выбранной опции. Итак, вы просто определили бы свою функцию javascript и получили бы значение из выпадающего списка:
function getRole(){
var finalVal = document.getElementById("user_role").value;
// And then here you can do whatever you want with the information
}
Комментарии:
1. Это не работает…. Я думаю, что значение не может быть доступно как var finalVal = document.getElementById(«user_role»).value; потому что это индекс массива php <значение параметра =»<?php echo $rowrole [‘role_id’]; ?>»> Пожалуйста, помогите мне
Ответ №2:
Вы можете присвоить значение параметру в onchange()
это должно работать ниже
function getRole(value) {
if(value != "")
alert(value)
}
<div class="col-md-3">
<select name="role" id="user_role" class="form-control" onchange="getRole(this.value)"/>
<option value="">Select a Role</option>
<option value="23">select 23</option>
<option value="24">select 24</option>
<option value="25">select 25</option>
</select>
<span id="roleerr" class="error">*</span>
</div>
Ответ №3:
Вы могли бы попробовать event of onchange
.
onchange="getRole(event)"
Javascript.
function getRole(event) {
var selectElement = event.target;
var value = selectElement.value;
alert(value);
}
Я протестировал его с помощью жестких данных.
function getRole(event) {
var selectElement = event.target;
var value = selectElement.value;
alert(value);
}
<div class="col-md-3">
<select name="role" id="user_role" class="form-control" onchange="getRole(event)"/>
<option value="">Select a Role</option>
<option value="1">admin</option>
<option value="2">user</option>
<option value="3">support</option>
</select>
<span id="roleerr" class="error">*</span>
</div>