我有2页..但是我很难从下拉列表中获取Text值并将其插入到文本框中,例如这是第1页
用户在第1页上有1个选项可供选择,下面的jquery代码会通过更改功能激活。
这将根据他们选择的字段加载新的下拉列表。
这一切都很好但我的问题是从新列表中获取新值到关键字文本框我该怎么做?
<select id="pick">
<option></option>
<option>Financial</option>
</select>
<div id="newlist" style="margin-left:180px;">
</div>
<input type="text" id="keyword" />
<script>
$("#pick").change(function () {
if ($(this).val() == "Financial")
{
$("#newlist").load('/Listings/service #service');
$("#keyword").text() = $("#service").text();
}
});
</script>
第2页是新列表的位置
<select name="service" id="service" style="background-color:red;">
<option>automotive</option>
<option>mechanic</option>
</select>
所以 再次从Page2获取下拉列表但由于某种原因我无法将该值传输到 文本框中,任何帮助都会很棒..
答案 0 :(得分:1)
据我所知,代码的最后一部分应该在complete事件中执行。
$("#newlist").load('/Listings/service #service',function(){
$("#keyword").val($("#service").text());
});
在您的ajax请求完成之前,原因#service
将无法使用。
编辑:正如@tymeJV正确地说的那样,文本框上应该是.val()
。
答案 1 :(得分:1)
尝试使用val
代替text
。
.val()方法主要用于获取表单元素的值 例如input,select和textarea。对于元素,.val()方法返回一个数组 包含每个选定的选项;如果未选择任何选项,则返回 空。
.text()方法不能用于表单输入或脚本。设置或 获取input或textarea元素的文本值,使用.val() 方法。要获取脚本元素的值,请使用.html()方法。
代码:
$("#pick").change(function () {
if ($(this).val() == "Financial") {
$("#keyword").val($("#service").val());
}
});
答案 2 :(得分:0)
尝试
$("#keyword").val($("#service").val());