从select元素获取选定的选项
我试图从下拉列表中select选项,并使用该文本填充另一个项目,如下所示。 IE正在咆哮,并且在Firefox中不起作用:
$('#ddlCodes').change(function() { $('#txtEntry2').text('#ddlCodes option:selected').text(); });
我究竟做错了什么?
这是一个简短的版本:
$('#ddlCodes').change(function() { $('#txtEntry2').text($(this).find(":selected").text()); });
karim79做了一个很好的捕捉,根据你的元素名称判断txtEntry2
可能是一个文本框,如果它是任何types的input,你需要使用.val()
而不是.text()
像这样:
$('#txtEntry2').val($(this).find(":selected").text());
对于“什么是错的?” 问题的一部分: .text()
不带select器,它需要它设置的文本,或者没有任何东西返回已经存在的文本。 所以你需要获取你想要的文本,然后把它放在你想要设置的对象上的.text(string)
方法,就像我上面的那样。
尝试这个:
$('#ddlCodes').change(function() { var option = this.options[this.selectedIndex]; $('#txtEntry2').text($(option).text()); });
这是一个更短的版本,也应该工作:
$('#ddlCodes').change(function() { $('#txtEntry2').text(this.val()); });
less用jQuery:
<select name="ddlCodes" onchange="$('#txtEntry2').text(this.options[this.selectedIndex].value);">
this.options[this.selectedIndex].value
是普通的JavaScript。
(来源: 德国SelfHTML )
尝试下面的代码
$('#ddlCodes').change(function() { $('#txtEntry2').val( $('#ddlCodes :selected').text() ); });
要知道所选元素的使用数量
$("select option:selected").length
获取所有选定元素的使用价值
var str = ""; $("select option:selected").each(function () { str += $(this).text() + " "; });
这对我工作:
$("#SelectedCountryId_option_selected")[0].textContent
第一部分是从下拉菜单中获取元素,如下所示:
<select id="cycles_list"> <option value="10">10</option> <option value="100">100</option> <option value="1000">1000</option> <option value="10000">10000</option> </select>
要通过jQuery捕获,你可以这样做:
$('#cycles_list').change(function() { var mylist = document.getElementById("cycles_list"); iterations = mylist.options[mylist.selectedIndex].text; });
一旦将值存储在variables中,下一步就是将存储在variables中的信息发送到您select的表单字段或HTML元素。 它可能是一个div或自定义元素。
即
<p></p> OR <div></div>
你会使用:
$( 'P')HTML(重复); OR $('div')。html(迭代);
如果你想填充一个文本字段,如:
<input type="text" name="textform" id="textform"></input>
你会使用:
$('#textform')。text = iterations;
当然,你可以用更less的步骤来完成上述所有的工作,我相信当你把所有这一切分解成容易理解的步骤时,它可以帮助人们学习…希望这有助于你!
使用selectedOptions属性(HTML5),您可以获取选定的选项(s)
document.getElementbyId("id").selectedOptions;
用JQuery可以做到这一点
$("#id")[0].selectedOptions;
要么
$("#id").prop("selectedOptions");
该属性包含一个HTMLCollection数组,与这个选定的选项类似
[<option value="1">ABC</option>]
或多个select
[<option value="1">ABC</option>, <option value="2">DEF</option> ...]
以上将非常好的工作,但似乎你已经错过了下拉文本的jQuerytypes转换。 除此之外,build议使用.val()
为input文本types元素设置文本。 通过这些更改,代码如下所示:
$('#txtEntry2').val($('#ddlCodes option:selected').text());
如果你已经有这个和使用jQuery这将是你的答案:
$($(本)[0] .selectedOptions [0])。文本()
鉴于这个HTML:
<select> <option value="0">One</option> <option value="1">Two</option> </select>
通过描述selectjQuery v1.6 +:
var text1 = 'Two'; $("select option").filter(function() { //may want to use $.trim in here return $(this).text() == text1; }).prop('selected', true);