我正在尝试从下拉列表中获取所选选项,并使用该文本填充另一个项目,如下所示。 IE正在咆哮,它在Firefox中不起作用:
$('#ddlCodes').change(function() {
$('#txtEntry2').text('#ddlCodes option:selected').text();
});
我做错了什么?
答案 0 :(得分:186)
这是一个简短的版本:
$('#ddlCodes').change(function() {
$('#txtEntry2').text($(this).find(":selected").text());
});
karim79很有吸引力,根据您的元素名称txtEntry2
判断可能是一个文本框,如果是任何类型的输入,则需要使用.val()
代替.text()
1}}像这样:
$('#txtEntry2').val($(this).find(":selected").text());
对于“出了什么问题?”问题的一部分:.text()
不接受选择器,它接受您想要设置的文本,或者不返回已存在的文本。因此,您需要获取所需的文本,然后将其放在要设置的对象的.text(string)
方法中,就像我上面一样。
答案 1 :(得分:15)
试试这个:
$('#ddlCodes').change(function() {
var option = this.options[this.selectedIndex];
$('#txtEntry2').text($(option).text());
});
答案 2 :(得分:8)
这是一个更短的版本,也应该有效:
$('#ddlCodes').change(function() {
$('#txtEntry2').text(this.val());
});
答案 3 :(得分:4)
使用更少的jQuery:
<select name="ddlCodes"
onchange="$('#txtEntry2').text(this.options[this.selectedIndex].value);">
this.options[this.selectedIndex].value
是纯JavaScript。
(资料来源:German SelfHTML)
答案 4 :(得分:2)
尝试以下代码
$('#ddlCodes').change(function() {
$('#txtEntry2').val( $('#ddlCodes :selected').text() );
});
答案 5 :(得分:2)
要知道所选元素的数量,请使用
$("select option:selected").length
要获取所有选定元素的值,请使用
var str = "";
$("select option:selected").each(function () {
str += $(this).text() + " ";
});
答案 6 :(得分:1)
这对我有用:
$("#SelectedCountryId_option_selected")[0].textContent
答案 7 :(得分:1)
第一部分是从下拉菜单中获取元素,如下所示:
<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; });
将值存储在变量中后,下一步就是将存储在变量中的信息发送到您选择的表单字段或HTML元素。它可能是div p或自定义元素。
即。
<p></p> OR <div></div>
你会使用:
$(&#39; P&#39)的HTML(迭代)。 OR $(&#39; div&#39;)。html(迭代);
如果您希望填充文本字段,例如:
<input type="text" name="textform" id="textform"></input>
你会使用:
$(&#39; #textform&#39;)。text = iterations;
当然,您可以用更少的步骤完成上述所有操作,我只相信当您将其全部分解为易于理解的步骤时,它可以帮助人们学习...希望这会有所帮助!
答案 8 :(得分:1)
使用selectedOptions属性(HTML5),您可以获得所选的选项
document.getElementbyId("id").selectedOptions;
通过这样做可以实现JQuery
$("#id")[0].selectedOptions;
或
$("#id").prop("selectedOptions");
该属性包含一个类似的HTMLCollection数组 一个选定的选项
[<option value="1">ABC</option>]
或多项选择
[<option value="1">ABC</option>, <option value="2">DEF</option> ...]
答案 9 :(得分:0)
上面会很好用,但似乎你错过了下拉文本的jQuery类型转换。除此之外,建议使用.val()
为输入文本类型元素设置文本。通过这些更改,代码将如下所示:
$('#txtEntry2').val($('#ddlCodes option:selected').text());
答案 10 :(得分:0)
如果您已经拥有并使用jquery,这将是您的答案:
$($(本)[0] .selectedOptions [0])。文本()
答案 11 :(得分:0)
鉴于此HTML:
<select>
<option value="0">One</option>
<option value="1">Two</option>
</select>
按jQuery v1.6 +的说明选择:
var text1 = 'Two';
$("select option").filter(function() {
//may want to use $.trim in here
return $(this).text() == text1;
}).prop('selected', true);