jquery:正在尝试设置选择选项

jquery:正在尝试设置选择选项,jquery,select,set,selection,Jquery,Select,Set,Selection,我有一个动态填充的表单选择: <div id="addRecordForm"> <h2 class='uiblocktitle'>Add Record</h2> <p class="forminstructions">All entries are required</p> <form id="userform"> <p class="label">Date:</p&

我有一个动态填充的表单选择:

<div id="addRecordForm">
    <h2 class='uiblocktitle'>Add Record</h2>
    <p class="forminstructions">All entries are required</p>
    <form id="userform">
        <p class="label">Date:</p><p><?php print $_SESSION['longdateform']; ?></p>
        <p class="label"><label for="departments" class="bodylabel">Department:</label></p>
        <p>
            <select id="departments" name="departments">
                <option value="null">Select A Department</option>";

                <?php 
                    $query = "SELECT * FROM departments";
                    $results = $db->getResults($query);

                    while($row = mysql_fetch_array($results)){
                        if (count($results) > 0) { 
                            //get department and id
                            $department = $row['department'];
                            $deptID = $row['id'];

                            print "<option value=\"" . $deptID . "\">" . $department . "</option>";
                         }
                    }
                ?>

            </select></p>

var数据返回正确,并与下拉列表中的一个值对应,它们都是从同一数据库表的同一字段中提取的,因此拼写不是问题。由于某些原因,我无法将“选择”设置为正确的选项。我甚至尝试过在没有运气的情况下对这些值进行编码。我尝试了$departments.val的变体,使用选项索引等,nada。我做错了什么?谢谢。

如果您使用选项值而不是其索引,而不是其文本,那么它应该可以工作。例如:

HTML:

或者使用更改处理程序,以防您遇到问题:

$("#theSelect")
  .change(function() {
    $("<p>Changed!</p>").appendTo(document.body);
  })
  .val("val4")
  .change();

如果使用选项值而不是其索引或文本来执行此操作,则它应该可以工作。例如:

HTML:

或者使用更改处理程序,以防您遇到问题:

$("#theSelect")
  .change(function() {
    $("<p>Changed!</p>").appendTo(document.body);
  })
  .val("val4")
  .change();

必须在PHP代码示例中使用department ID$row['ID']在select中设置所选选项,因为这是为option value属性设置的

$('#departments').val('null');
例如,将选择“选择部门”选项。我已经为你创建了一个例子来说明这一点

还有一个流浪汉;在您的示例中,就在您的SelectaDepartmentNull选项的结束标记之后


在您的示例中,您没有共享getUserDepartment.php的代码,因此我无法验证该方法是否确实返回了行id而不是行department列。

您必须在php代码示例中使用department id$row['id']在select中设置所选选项,因为这是您为option value属性设置的

$('#departments').val('null');
例如,将选择“选择部门”选项。我已经为你创建了一个例子来说明这一点

还有一个流浪汉;在您的示例中,就在您的SelectaDepartmentNull选项的结束标记之后


在您的示例中,您没有共享getUserDepartment.php的代码,因此我无法验证该方法是否确实返回了行id而不是行department列。

the.change;是我错过了什么:改变;是我错过的东西:
$('#departments').val('null');