0

ページのjavaスクリプトを使用して、現在選択されているアイテムをasp:RadioButtonList内で取得しようとしています。私はこれを行う方法を調べましたが、提案された方法はどれもうまくいきませんでした。私はdnnモジュールをコーディングしています。これが私が持っているものです:

<script type="text/javascript">
function BeginDownload() {
    var radioObj = document.getElementsByName('<%= SliderStyles.ClientID %>');
    for (var i = 0; i < radioObj.length; ++i ) {
        if (radioObj[i].checked) {
            if (radioObj[i].value == "0") { __doPostBack("ImgDownload", $("#waterwheel-carousel-horizon").CurrentSelectedImg().toString()); }
            else if (radioObj[i].value == "1") { __doPostBack("ImgDownload", $("#slides").CurrentSelectedImg().toString()); }
        }
    }
}

<asp:Label runat="server" Text="Slider Style" Font-Bold="True" />
<asp:RadioButtonList ID="SliderStyles" runat="server" RepeatDirection="Horizontal" OnSelectedIndexChanged="SliderStyle_OnSelectedIndexChanged" AutoPostBack="True">
    <asp:ListItem Text="Default" Value="0" Selected="True"></asp:ListItem>
    <asp:ListItem Text="Slide Show" Value="1"></asp:ListItem>
</asp:RadioButtonList>

これまでのところ、Javascriptで取得した値は毎回nullを返します。

4

2 に答える 2

0
Hello try with getElementsById

<script type="text/javascript">
function BeginDownload() {
    var radioObj = document.getElementsById('<%= SliderStyles.ClientID %>');
    for (var i = 0; i < radioObj.length; ++i ) {
        if (radioObj[i].checked) {
            if (radioObj[i].value == "0") { __doPostBack("ImgDownload", $("#waterwheel-carousel-horizon").CurrentSelectedImg().toString()); }
            else if (radioObj[i].value == "1") { __doPostBack("ImgDownload", $("#slides").CurrentSelectedImg().toString()); }
        }
    }
}
于 2012-06-22T20:54:00.357 に答える
0

forループが正しくない「++i」を「i++」に次のように変更します

for(var i = 0; i <radioObj.length; i ++)

于 2012-06-22T21:02:56.350 に答える