1

当用户从下拉框中选择时,我想将输入字段的值更改为 jquery 对象,该对象是来自另一个页面的 span 元素。当我附加到#myDiv 时,这工作正常;跨度元素出现。但是,我正在尝试更改文本输入值,这会在选择更改时显示“对象对象”。我不明白这种不一致。我怎样才能像#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">
4

2 回答 2

1

好吧,您不能将元素作为文本框的。它基本上只是将toString您的 jQuery 对象的值作为值,如果它返回结果集,它将始终是“对象对象”。

你到底想在你的文本框中显示什么?如果您想从 内部发短信span,请执行以下操作:

$("#fvdescription").val(selectedslide.html());

于 2012-10-02T22:20:55.660 回答
0

这里 selectedslide 是一个jQuery 对象

$('#myDiv').append(selectedslide);

在这种情况下,您将对象附加到 div 元素

$("#fvdescription").val(selectedslide);

但是在这里,您将值直接写入文本字段,该文本字段在您的文本字段中显示为对象。

试试这个

$("#fvdescription").val(selectedslide.html());
于 2012-10-02T22:21:39.010 回答