我正在使用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;。我尝试通过下面的代码来做,但它不起作用。
<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>
答案 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>