Jquery 从选择元素中获取选定选项
我试图从下拉列表中获取所选选项,并用该文本填充另一项,如下所示。IE正在掀起一场风暴,它在Firefox中不起作用: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
$('#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);