Изменить jQuery выберите элемент, не отраженный на innerHTML / outerHTML - PullRequest
0 голосов
/ 06 марта 2020

По сути, мне нужно создать элемент select, выбрать параметр, а затем получить его строковое представление, включая выбранный параметр, например:

<option value="2" selected>two</option>

Я пытался вызвать несколько функций, которые закомментировано ниже, и хотя все они изменяют поля selectedOptions и value, это изменение не видно в innerHTML или outerHTML элемента.

var select = '<select><option value="1">one</option><option value="2">two</option><option value="3">three</option></select>';

function render() {
  var sel = $(select);
  //sel.attr('value', '2');
  //sel.prop('value', '2');
  //sel.val('2');
  	
  return sel[0].outerHTML;
}
  
console.log(render());
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>

1 Ответ

0 голосов
/ 06 марта 2020

Вместо этого необходимо присвоить атрибут selected соответствующему элементу:

var select = '<select><option value="1">one</option><option value="2">two</option><option value="3">three</option></select>';

function render() {
  var sel = $(select);
  sel.find("option[value=2]").attr('selected', 'selected');
  return sel[0].outerHTML;
}

console.log(render());
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...