Мне нужно иметь значение, выбранное в раскрывающемся списке, и показывать это в месте. Поле выбора формируется с использованием переменной. Так что я сделал
jQuery('<select>'+projAddHocs+'</select>')
.find('[value='+val[59]+']')
.attr('selected','selected')
.prop('outerHTML');
или
jQuery('<select>'+projAddHocs+'</select>').val(val[59]).prop('outerHTML');
val [59] имеет значение, которое мне нужно выбрать в раскрывающемся списке перед отображением.
Это легко, когда в DOM существует выбор, но я не могу это сделать, используя обертку jQuery.
Любая помощь/направления, пожалуйста?
С уважением.
Вы выбираете outerHTML
выбранного вами <option>
потому что вы попали туда через find()
.
Вернитесь к своему select
с помощью parent()
:
jQuery('<select>'+projAddHocs+'</select>')
.find('[value='+val[59]+']')
.attr('selected','selected')
.parent()
.prop('outerHTML');
или лучше:
var select = jQuery('<select>'+projAddHocs+'</select>');
select.find('[value='+val[59]+']').attr('selected','selected');
$('#wrapper').html(select.prop('outerHTML'));
val()
будет работать только после добавления элемента в HTML. как: jsfiddle.net/kLumz/2
Попробуйте это, чтобы получить значение select:
$("#mySelect").val(); // this returns the selected value of the drop down
// (assuming your select tag has id attribute with value 'mySelect')
Если вы хотите установить его значение, вы можете попробовать следующее:
$("#mySelect").val('myValue'); // this sets the value to 'myValue'
// If there is an '<option>' whose value is 'myValue',
// then this option will be selected
jQuery('<select>'+projAddHocs+'</select>').val(val[59]).end().prop('outerHTML');