У меня есть динамическое выпадающее меню, в котором параметры загружаются из базы данных. Теперь мне нужно изменить атрибут каждый раз, когда в раскрывающемся меню выбирается другой параметр.
Для этого я пытаюсь использовать js, на мой взгляд, подходящий для выполнения этой работы, но, к сожалению, мне сложно и не может найти правильное решение, на самом деле я не знаю, как его запустить.
Вот мой PHP-код, который динамически генерирует выпадающее меню:
$opt = '<select id="Forex" name="" style="display: none">';
$opt1 = '<option value="">Select Forex Workshop</option>';
$opt2 = '';
while($result = mysqli_fetch_assoc($query)){
if($timestamp < $result['endingDate']){
$opt2 .= '<option id="'.$result['id'].'" value="'.$result['startingDate'].'">'.$result['course'].'</option>';
}
}
$opt3 = '</select>';
return $opt.$opt1.$opt2.$opt3;
Может ли кто-нибудь предложить решение, по крайней мере, дать мне ссылку на статью, которая охватывает эту проблему
Вы можете добавить событие "onchange" и изменить имя, которое вам нравится:
$('#Forex').change(function(){
var val = $(this).val(); // you can get the value of selected option
//you can process your conditions here
$(this).attr('name', 'your_choice_name'); // this will change the name attribute
});
или вы можете сделать это из javascript
<select id="Forex" name="abc" onchange="changeAttr(this);">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>
<script type="text/javascript">
function changeAttr(ele)
{
var val = ele.value;
var n = "";
if(val == 1){
n = 'xyz';
} else if(val == 2){
n = 'abc';
}
ele.setAttribute('name', n);
}
</script>
Надеюсь, это поможет вам, чего вы хотите...
Используйте jquery с событием "onChange", которое изменит атрибут, который вы хотите, с выбранным элементом в списке.
Hei! Не уверен, понял ли я вас, но вы можете использовать jQuery для управления атрибутами события изменения. Для события http://api.jquery.com/change/ Чтобы изменить атрибут http://api.jquery.com/attr/
document.getElementById('Forex').onchange = function() { this.name = this.value; }