aspx中的Javascript获取变量路径

时间:2014-12-01 16:00:18

标签: javascript asp.net

我正在使用jquery.mb.mini音频播放器,我在我的aspx页面下面的代码正常工作。

<a id="m5" class="audio {skin:'green', autoPlay:false, addShadow:false,addGradientOverlay:true}" href="Folder 1/Audio1.mp3">Audio1 mp3</a>

我的问题是如何根据两个下拉选择值将上面代码中的href路径更改为可变路径。因为我在aspx页面上也有两个下拉菜单,其中一个得到了价值&#34;文件夹1&#34;和其他人有价值&#34; Audio1&#34;。我尝试通过下面的代码来做,但它不起作用。

aspx页面中的Javascript

<script type="text/javascript">
    function myFunction() {
        var x = document.getElementById("DropDownList1").value + "/" + document.getElementById("DropDownList2").value + '.mp3';
        return x;
    }
</script>


<a id="m5" class="audio {skin:'green', autoPlay:false, addShadow:false,addGradientOverlay:true}" href='javascript:myFunction()'>Audio1 mp3</a>

有人能帮助我实现这个目标吗?

aspx页面中的下拉代码

<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" 
    DataSourceID="AccessDataSource1" DataTextField="FldrName" 
    DataValueField="FldrName" Height="25px" Width="250px">
</asp:DropDownList>
<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/AD.mdb" 
    SelectCommand="SELECT [FldrName] FROM [Folders]">
</asp:AccessDataSource>
<br />
<br />
<asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="True" 
    DataSourceID="AccessDataSource2" DataTextField="Audio" DataValueField="Audio" 
    Height="25px" Width="250px">
</asp:DropDownList>
<asp:AccessDataSource ID="AccessDataSource2" runat="server" DataFile="~/AD.mdb" 
    SelectCommand="SELECT [Audio] FROM [Aduios] WHERE ([FldrName] = ?)">
    <SelectParameters>
        <asp:ControlParameter ControlID="DropDownList1" Name="FldrName" 
            PropertyName="SelectedValue" Type="String" />
    </SelectParameters>
</asp:AccessDataSource>

1 个答案:

答案 0 :(得分:0)

看起来您希望在点击链接时生成网址 这是错误的做法。您希望在下拉列表更改时更新href。

而不是将链接的href设置为javascript函数。您应该在下拉菜单中添加一个处理程序,当它们发生变化时会调用myFunction()。然后在myFunction()中更新锚链接的href。这样,href将在您单击之前设置。不是之后,点击将调用网址,而不是函数。

所以,函数将是

function myFunction() {
    var x = document.getElementById("DropDownList1").value + "/" + document.getElementById("DropDownList2").value + '.mp3';
    document.getElementById('m5').href = x;
}

我必须看到下拉列表的标记,以向您展示如何添加处理程序。

<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" onchange="myFunction();"
    DataSourceID="AccessDataSource1" DataTextField="FldrName" 
    DataValueField="FldrName" Height="25px" Width="250px">
</asp:DropDownList>