如何在“onchange”事件</option> </select>上将链接与<select> <option>值连接起来

时间:2011-03-07 08:02:05

标签: php magento

<?php echo $this->getUrl(); ?>为我提供了我的索引页面网址.i.e。 www.domain.com/index.php /

但是现在,我想要的是,当选择任何特定选项时,它应该添加到此URL。 .e.g。

www.domain.com/index.php/wordpress/

我为此编写了这段代码,但现在不知道如何完成它。 :(

<select onchange="setLocation('<?php echo $this->getUrl(); ?>')">
     <option value="">&nbsp;</option>
     <option value="wordpress">Wordpress</option>
     <option value="drupal">drupal</option>
     <option value="magento">Megento</option>
</select>

此外,我搜索了这个链接,但无法从中获取帮助。因为它对我没用。

<select name="forma" ONCHANGE="location = this.options[this.selectedIndex].value;">
 <option value="Home">Home</option>
 <option value="Contact">Contact</option>
 <option value="Sitemap">Sitemap</option>
</select>

1 个答案:

答案 0 :(得分:2)

有了这个(注意我添加了this作为第一个参数):

<select onchange="setLocation(this, '<?php echo $this->getUrl(); ?>')">
     <option value="">&nbsp;</option>
     <option value="wordpress">Wordpress</option>
     <option value="drupal">drupal</option>
     <option value="magento">Megento</option>
</select>

您可以编写以下JS:

function setLocation(elm, baseUrl) {
    var keyword = elm.options[elm.selectedIndex].value; // Gets the selected keyword (some sanity check could be done)
    window.location = 'http://' + baseUrl + keyword + '/'; // Redirects
}

可替换地:

<select name="forma" onchange="window.location='http://<?php echo $this->getUrl(); ?>' + this.options[this.selectedIndex].value + '/';">
 <option value="Home">Home</option>
 <option value="Contact">Contact</option>
 <option value="Sitemap">Sitemap</option>
</select>

编辑前两个例子的http://。)