我正在尝试使用jquery将所选html表单选项字段的名称复制到另一个字段 这就是我现在所拥有的:
$(document).ready(
function()
{
//check for change on the categories menu
$('#categories').change(function() {
//get category value
name = $('#categories').text();
$('#name').val(name)
});
});
<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>
问题是名称字段现在包含选项下拉列表中的所有名称,而不仅仅是我选择的名称。
答案 0 :(得分:7)
您应该使用:selected Selector来选择option
,然后使用.text()
来获取其名称。
var name = $('#categories option:selected').text();
答案 1 :(得分: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)
});
});
希望得到帮助
答案 2 :(得分:0)
我认为您希望使用$("#categories").val()
代替.text()
。
答案 3 :(得分:-1)
阅读jQuery文档并在.change()函数中显示示例。