从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);