Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 从选择元素中获取选定选项_Jquery_Html Select - Fatal编程技术网

Jquery 从选择元素中获取选定选项

Jquery 从选择元素中获取选定选项,jquery,html-select,Jquery,Html Select,我试图从下拉列表中获取所选选项,并用该文本填充另一项,如下所示。IE正在掀起一场风暴,它在Firefox中不起作用: $('#ddlCodes').change(function() { $('#txtEntry2').text('#ddlCodes option:selected').text(); }); 我做错了什么?试试这个: $('#ddlCodes').change(function() { var option = this.options[this.selectedIn

我试图从下拉列表中获取所选选项,并用该文本填充另一项,如下所示。IE正在掀起一场风暴,它在Firefox中不起作用:

$('#ddlCodes').change(function() {
  $('#txtEntry2').text('#ddlCodes option:selected').text();
});
我做错了什么?

试试这个:

$('#ddlCodes').change(function() {
  var option = this.options[this.selectedIndex];
  $('#txtEntry2').text($(option).text());
});

以下是一个简短的版本:

$('#ddlCodes').change(function() {
  $('#txtEntry2').text($(this).find(":selected").text());
});
这是一个很好的例子,从元素名txtEntry2可能是一个文本框判断,如果它是任何类型的输入,则需要使用.val或.text,如下所示:

  $('#txtEntry2').val($(this).find(":selected").text());

对了,怎么了?问题的一部分:。文本不接受选择器,它接受您希望将其设置为的文本,或者不返回已存在的文本。因此,您需要获取所需的文本,然后将其放在要设置的对象上的.textstring方法中,就像我上面所说的那样。

以下是一个简短的版本,它也可以工作:

 $('#ddlCodes').change(function() {
      $('#txtEntry2').text(this.val());
    });
使用较少的jQuery:

<select name="ddlCodes"
 onchange="$('#txtEntry2').text(this.options[this.selectedIndex].value);">
this.options[this.selectedIndex]。值为纯JavaScript

来源:

这对我来说很有效:

$("#SelectedCountryId_option_selected")[0].textContent
尝试以下代码

$('#ddlCodes').change(function() {
  $('#txtEntry2').val(  $('#ddlCodes :selected').text() );
});

要知道所选元素的数量,请使用

$("select option:selected").length
    var str = "";
  $("select option:selected").each(function () {
        str += $(this).text() + " ";
      });
要获取所有选定元素的值,请使用

$("select option:selected").length
    var str = "";
  $("select option:selected").each(function () {
        str += $(this).text() + " ";
      });

第一部分是从下拉菜单中获取元素,如下所示:

将值存储在变量中后,下一步是将存储在变量中的信息发送到所选的表单字段或HTML元素。它可以是divp或自定义元素

i、 e.或

您可以使用:

$'p'.htm文字;或$'div'.htm文字

如果要填充文本字段,如:

您可以使用:

$'textform'.text=迭代次数


当然,你可以用更少的步骤来完成上面的所有工作,我只是相信,当你把所有工作分解成易于理解的步骤时,它会帮助人们学习。。。希望这有帮助

使用selectedOptions属性HTML5,您可以获得所选选项

document.getElementbyId("id").selectedOptions; 
使用JQuery可以通过这样做来实现

$("#id")[0].selectedOptions; 

该属性包含与此类似的HTMLCollection数组 一个选定选项

[<option value=​"1">​ABC</option>]
或多个选择

[<option value=​"1">​ABC</option>, <option value=​"2">​DEF</option> ...]

上面的方法很好,但是您似乎错过了下拉文本的jQuery类型转换。除此之外,建议使用.val为输入文本类型元素设置文本。通过这些更改,代码将如下所示:

    $('#txtEntry2').val($('#ddlCodes option:selected').text());

如果您已经有了这个,并使用jquery,那么这将是您的答案:

$$this[0]。选择选项[0]。给定此HTML,文本为:

<select>
    <option value="0">One</option>
    <option value="1">Two</option>
</select>

如果txtEntry2是一个文本输入,OP将需要使用val来代替。@karim79-很好的一点,根据元素名称,它可能是更新的。是的,通过将.text更改为.val并以不同的方式获取文本,一切都得到了解决。感谢FellasunCaughtTypeError:对象没有方法“val”。此值将修复它。
<select>
    <option value="0">One</option>
    <option value="1">Two</option>
</select>
var text1 = 'Two';
$("select option").filter(function() {
    //may want to use $.trim in here
    return $(this).text() == text1; 
}).prop('selected', true);