将输入值更改为jquery对象

时间:2012-10-02 22:16:29

标签: jquery string object

当用户从下拉框中选择时,我想将输入字段的值更改为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">

2 个答案:

答案 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());