изменить текстовый атрибут опции

#javascript #jquery

#javascript #jquery

Вопрос:

Попытка изменить текстовый атрибут параметра, используя его значение в качестве переменной.

Мои попытки не работают, любая помощь, пожалуйста.

Ожидаемый результат:

 <option value = 2>earth</option>
  

 var x = 2
var str = 'earth';

$('button').on('click', function(){
$('#sela:option[value = '   x   ']').attr('text', str); 
});  
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<select id='sela'>
<option value = 1>lorem</option>
<option value = 2>ipsum</option>
</select>
<br><br>
<button>CLICK</button>  

Ответ №1:

Вы должны использовать $('#sela>option[value = ' x ']') для выбора прямого option дочернего элемента #sela .

И использовать text() для обновления текста опции.

 var x = 2
var str = 'earth';

$('button').on('click', function() {
  $('#sela>option[value = '   x   ']').text(str);
});  
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<select id='sela'>
  <option value=1>lorem</option>
  <option value=2>ipsum</option>
</select>
<br><br>
<button>CLICK</button>