是否可以创建超链接的下拉列表(而不是菜单)

时间:2011-04-01 07:07:38

标签: c# javascript asp.net-mvc asp.net-mvc-3

nyone知道是否可以创建超链接的下拉列表。因此,除了替换文本字段的超链接之外,列表中的每个项目还有一个值。想知道是否有任何jquery或其他客户端脚本可以让我将列表项名称转换为链接。使用MVC2作为服务器端。 最终点击下拉列表中的任何链接将打开一个新窗口,这样人们不仅可以选择产品变体,还可以在提交表单之前在弹出窗口中查看所选产品变体的详细信息。

超链接将根据items值构建,该值是productID,将在新窗口中打开的URL将其作为周边传递给action方法。

目前使用此脚本来完成这项工作,但我必须使用旁边的按钮 下拉列表和它有点丑陋和混乱,因为你不会写太多 一个按钮。

  function JumpToIt1(frm) {
        var newPage = frm.droppa.options[frm.droppa.selectedIndex].value
        if (newPage != "None") {
            window.open("http://mydomain.com/category/" + newPage, "mywindow", "menubar=1,resizable=1,width=550,height=250");
        }
    }

3 个答案:

答案 0 :(得分:0)

您可以使用onChange处理程序的下拉列表,使其在下拉列表更改时运行JavaScript(即某人从列表中选择某些内容)。我认为这会做你想要的。

答案 1 :(得分:0)

$(function() {

  $('#dropdownId').change(function() {
    var page = $(this).val();
    if (page != "None") {
        window.open("http://mydomain.com/category/" + page, "mywindow", "menubar=1,resizable=1,width=550,height=250");
    }
  });  

});

请注意,新窗口仅在用户从当前选定的值中选择不同的值时才会打开。因此,如果您删除按钮,用户将无法连续两次打开窗口,而无需先选择其他值。

答案 2 :(得分:0)

试试这个:

function openPopup(newPage){

        if (newPage != "None") {
            window.open("http://mydomain.com/category/" + newPage, "mywindow", "menubar=1,resizable=1,width=550,height=250");
        }

}
    $(#dropdownId").find("option").each(function(){
    var $Obj= $(this);
  $(this).text("<a href='javascript:void(0);' onclick='openPopup("+$Obj.val()+")'>" + $Obj.text() +"</a>");
    });