你好,
我得到以下输入
<input type="text" class="input-text" value="South Yorkshire" placeholder=" county" name="calc_shipping_state" id="calc_shipping_state">
而且我需要更改它,以使选择下拉菜单的选项很少。问题在于输入可以使用数据库进行验证,而我无权访问HTML。因此,我将隐藏输入,并使用jQuery添加选择选项以将选择的选项写入输入中。我不确定如何将选择中选择的选项写入隐藏输入中。
使用.change()
或.val()
?
这是添加选择的代码:
$('#calc_shipping_state_field').after("<p class='form-row form-row-wide' id='calc_shipping_state_field' id=''> <select name='' id='county_selected' class='' rel=''> <option value=''>Select a county…</option> <option value='BE'>Bedfordshire</option> <option selected='selected' value='BER'>Berkshire</option> <option value='BRI'>Bristol</option> <option value='BUCK'>Buckinghamshire</option> <option value='CA'>Cambridgeshire</option> <option value='CHES'>Cheshire</option> <option value='LN'>City of London</option> </select></p>");
我selected='selected'
在默认情况下添加了“伯克希尔”选项
<option selected='selected' value='BER'>Berkshire</option>
这是我尝试使用.change()的代码,但是不起作用。
$( "#county_selected" ).change(function() {
var county = $("select :selected").county(function () {
var txt = $(this).text();
}).get();
//add it to div
$('input.input-text').val('county');
});
我希望有一个人可以帮助我。
谢谢!
您可以使用find()
获取选定的选项,然后调用.text()
它。在更改功能中,this
指的是选择,因此无需重新选择它。
$( "#county_selected" ).change(function() {
$('input.input-text').val($(this).find('option:selected').text());
});
添加选择后,以上代码必须运行。如果愿意,可以委托给父项或文档,添加选择后不必运行它:
$(document).on('change', '#county_selected', function(){
$('input.input-text').val($(this).find('option:selected').text());
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句