0

jqueryを使用して、選択したhtmlフォームオプションフィールドの名前を別のフィールドにコピーしようとしています。
これは私が今得たものです:

脚本

$(document).ready(
function()
{
    //check for change on the categories menu
    $('#categories').change(function() { 

    //get category value
    name = $('#categories').text();
    $('#name').val(name)

});

});

HTML

<form action="editcat.pnp" method="post" accept-charset="utf-8">
<table>
<tr>
<td><label for="category">Category:</label></td><td><select name="category_id"     id="categories">
<option value="1">Info</option>
<option value="2">Resr</option>
<option value="3">Pro</option>
<option value="4">Geo</option>
<option value="5">Site's</option>
<option value="6">Well</option>
<option value="7">Link</option>
<option value="#" selected="selected">Please select</option>
</select></td>
</tr>
<tr>
<tr>
<td><label for="name">Name:</label></td><td><input name="name" type="text" size="40" maxlength="40" id="name"></td>
</tr>
<tr>
<td></td><td><input type="submit" value="Update"> <input type="reset"></td>
</tr>
</table>
</form>

問題は、名前フィールドに、選択した名前だけでなく、オプションのドロップダウンリストからのすべての名前が含まれるようになったことです。

4

4 に答える 4

7

:selected Selectorを使用して選択を取得しoption、次に.text()その名前を取得する必要があります。

var name = $('#categories option:selected').text();
于 2012-05-16T12:51:55.700 に答える
2

これを試して....

$(document).ready(
function()
{
    //check for change on the categories menu
    $('#categories').change(function() { 

    //get category value
    name = $("#categories option:selected").text();
    $('#name').val(name)

    });
});

その助けを願っています

于 2012-05-16T12:52:12.287 に答える
0

$("#categories").val()の代わりに使用したいと思います.text()

例: http: //jsfiddle.net/shanabus/wZAM7/

于 2012-05-16T12:53:08.417 に答える
-1

jQuery Docsを読み、.change()関数で例を示します。

于 2012-05-16T12:51:36.640 に答える