当用户从下拉框中选择时,我想将输入字段的值更改为jquery对象,该对象是来自另一页面的span元素。当我附加到#myDiv时,这工作正常; span元素显示出来。但是,我正在尝试更改文本输入值,这显示" Object对象"在选择更改。我不明白这种不一致。如何正确地改变值,正如#myDiv那样?谢谢。
<script>
function schedule(selectedValue){
var selectedValue = selectedValue - 1;
$.get('/file.xml', function(data)
{
var $slides = $(data).find('span.desctext'),
selectedslide = $slides.eq(selectedValue);
$('#myDiv').append(selectedslide);
$("#fvdescription").val(selectedslide);
});
}
</script>
HTML:
<form action="preview.php" method="post">
Action: <select name="whichslide" onchange="schedule(this.value)">
<option value="ab">Add & Bump</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option></select><br />
Year: <input type="text" name="year" size="3"> <br> URL: <input type="text" name="url" size="35"> <br> Description: <input type="text" name="description" id="fvdescription" size="75" value="Description goes here"> <br>
<input type="submit" name="preview" value="Preview">
答案 0 :(得分:1)
好吧,你不能把一个元素作为文本框的值。它基本上只是将jQuery对象的toString
值作为值,如果返回结果集,它将始终为“Object object”。
您想要在文本框中显示什么内容?如果您想在span
内发短信,请执行以下操作:
$("#fvdescription").val(selectedslide.html());
答案 1 :(得分:0)
此处selectedslide是 jQuery对象
$( '#myDiv')附加(selectedslide);
在这种情况下,您将对象附加到div元素
$("#fvdescription").val(selectedslide);
但是在这里,您将值直接写入文本字段,该字段在文本字段中显示为对象。
试试这个
$("#fvdescription").val(selectedslide.html());