如何在页面加载时使用jQuery预先默认选择字段


How to pre default a select field with jQuery on page load

我让一位开发人员在我的wordpress footer.php文件中创建了一些代码,以根据用户的配置文件预定义一组字段。

文本字段似乎默认良好,但选择选项(性别)不是默认选项,用户必须选择此选项,即使该值是根据他们的配置文件存储的。

有没有一种方法可以更新此代码以默认性别?我认为这与使用.val()有关??

这是代码:

<?php
$current_user = wp_get_current_user();

/**
 * @example Safe usage: $current_user = wp_get_current_user();
 * if ( !($current_user instanceof WP_User) )
 *     return;
 */
$username = $current_user->user_login;
$email = $current_user->user_email;
$firstname = $current_user->user_firstname;
$lastname = $current_user->user_lastname;
$displayname = $current_user->display_name;
//$user_id = $current_user->phone;


if ( is_user_logged_in() ){
global $current_user;
get_currentuserinfo();
$email = $current_user->user_email;
$name  = $current_user->user_firstname.' '.$current_user->user_lastname;
$golflink = $current_user->dbem_golf_link;
$home_club = $current_user->dbem_home_club;
$handicap = $current_user->dbem_handicap;
$gender = $current_user->dbem_gender;
}
    ?>

jQuery( document ).ready(function() {
jQuery('#attendee_name').val("<?php echo $firstname.' '.$lastname; ?>");
jQuery('#golflink').val("<?php echo $golflink; ?>");
jQuery('#home_club').val("<?php echo $home_club; ?>");
jQuery('#handicap').val("<?php echo $handicap; ?>");
jQuery('#gender').val("<?php echo $gender; ?>");

任何建议都很好。

从其他阅读中,我可以更改:jQuery('#gender').val(");到jQuery('select#gender').val(");

我试过上面的,但没有改变。

我在wordpress中创建的选择是"男性"answers"女性"

感谢

要在jquery中为select给定值,您传递的值应该与选择框的值相同。

示例1:

$gender = "male" or "female";//any value you want
<select name="gender" id="gender">
     <option value="male">Male</option>
                    ^  this should be same as your $gender
     <option value="female">Female</option>
                    ^  this should be same as your $gender
</select>

然后

jQuery('#gender').val("<?php echo $gender; ?>");

$gender的值为male,因此将选择男性。

示例2:

$gender = "male" or "female";//any value you want
<select name="gender" id="gender">
     <option value="0">Male</option>
                    ^  this should be same as your $gender
     <option value="1">Female</option>
                    ^  this should be same as your $gender
</select>

然后

jQuery('#gender').val("<?php echo $gender; ?>");

$gender的值为0 or 1,但选择框的值为malefemale。因此,即使您已经传递了值,它也不会起作用。