Извините, ребята, я должен был выложить скрипт напрямую, без его очистки.Пожалуйста, проверьте обновленный скрипт, теперь он должен все прояснить.Спасибо!
Рассмотрим следующий JavaScript:
var selected = 0;
var options = 0;
$('.newListSelected').each(function() {
selected = $(this).children('.selectedTxt');
selected = selected.text();
/* Everything before this line works completely fine */
options = $(this).prev();
options.find('option[value=' +selected+ ']').attr('selected', 'selected');
}).remove();
И HTML:
<select name="type[]" style="display: none;">
<optgroup>
<option value="none">Select</option>
</optgroup>
<optgroup label="First Group">
<option value="1">One</option>
<option value="2">Two</option>
</optgroup>
<optgroup label="Second Group">
<option value="10">Ten</option>
<option value="20">Twenty</option>
</optgroup>
</select>
<div class="newListSelected">
<div class="selectedTxt">20</div>
<ul class="newList">
<!-- Other stuff here -->
</ul>
</div>
На самом деле я пытаюсь добавить атрибут selected
всоответствующая опция option , которая имеет то же значение, что и текст в .selectedTxt
.В приведенном выше коде он должен добавить selected="selected"
к <option value="20">Twenty</option>
.
Однако он не работает должным образом, я также попытался добавить alert(option);
ниже prev();
, но ничего полезного не получилось.
Спасибо.