0

我有以下一段代码,它创建了许多帖子的下拉列表。

<?php
$mypostype = get_posts('post_type=rentals');
if($mypostype) : ?>
<form action="" id="myform">
<label for="myselect">Rentals</label>
<select id="myselect" name="select_post_type" onChange='document.location.href=this.options[this.selectedIndex].value;'>
<?php foreach ( $mypostype as $mypost  ) : ?>
<option value="?rentals=<?php echo $mypost->post_name; ?>"><?php echo $mypost->post_title; ?></option>
<?php endforeach; ?>
</select>
</form>
<?php endif ?>

除了一件事之外,它的工作非常出色,那就是能够将默认值添加到没有链接到任何页面的下拉列表中,例如“选择租赁”之类的一些文本。

如果有人能解释如何添加这个值,那就太好了。

提前感谢您的时间和帮助。

4

1 回答 1

0

<option>通过在javascript 事件中添加一个并通过检查所选选项值是否不为空来<select>稍微更改:onChange

    <?php
    $mypostype = get_posts('post_type=rentals');
    if($mypostype) : ?>
    <form action="" id="myform">
    <label for="myselect">Rentals</label>
    <select id="myselect" name="select_post_type" onChange="((this.options[this.selectedIndex].value != '') ? document.location.href=this.options[this.selectedIndex].value : false);">
    <option value="" selected="selected">Select Rentals</option>
    <?php foreach ( $mypostype as $mypost  ) : ?>
    <option value="?rentals=<?php echo $mypost->post_name; ?>"><?php echo $mypost->post_title; ?></option>
    <?php endforeach; ?>
    </select>
    </form>
    <?php endif ?>

这应该可以满足您的需求...

顺便说一句,您可以这样做来回显帖子链接(绝对链接):

<option value="<?php echo get_permalink( $mypost->ID ); ?>"><?php echo $mypost->post_title; ?></option>
于 2013-08-12T01:09:56.317 回答