使用jQuery选择控件 - 使用hiddenfield的值

时间:2012-07-09 17:37:10

标签: jquery asp.net

我有一个隐藏字段,其中包含以下标记:

<input type="hidden" name="ctl00$ContentPlaceHolder1$LinksOverview1$ProductView$ctrl1$ctl01$ctl00$DescriptionOfLink$QuestionDivInfo" id="ContentPlaceHolder1_LinksOverview1_ProductView_ctrl1_ctl00_3_DescriptionOfLink_3_QuestionDivInfo_3" value="ContentPlaceHolder1_LinksOverview1_ProductView_ctrl1_ctl00_3_questionMark_3" />

我的隐藏字段的值与我拥有的范围的ID相同:

<span id="ContentPlaceHolder1_LinksOverview1_ProductView_ctrl1_ctl00_3_questionMark_3" class="questionMarkLayout">(?)</span>

在呈现代码之前,我不知道我的span的ID,但我可以访问隐藏字段的值。

使用jQuery,我想:

  • 使用我的隐藏字段
  • 的值ID来控制控件

到目前为止,我已经尝试过:

<script type="text/javascript">
    $(document).ready(function () {
        alert('<%#QuestionDivInfo.ClientID %>');
        $('<%#QuestionDivInfo.ClientID %>').val().mouseover(function (e) {
            $('<%#HintDiv.ClientID %>').show();
        });

        $('<%#QuestionDivInfo.ClientID %>').val().mouseleave(function (e) {
            $('<%#HintDiv.ClientID %>').hide();
        });
    });
</script>

但它不起作用。

任何提示? :)

3 个答案:

答案 0 :(得分:2)

使用此代码:

$(document).ready(function () {
        alert('<%#QuestionDivInfo.ClientID %>');
        var span=$("#"+$('<%#QuestionDivInfo.ClientID %>').val());
        $(span).mouseover(function (e) {
            $('<%#HintDiv.ClientID %>').show();
        });

        $(span).mouseleave(function (e) {
            $('<%#HintDiv.ClientID %>').hide();
        });
    });

答案 1 :(得分:1)

事件应绑定以控制不控制值,

$('<%#QuestionDivInfo.ClientID %>').val().mouseover(.........

应该是

$('#'+$('#<%QuestionDivInfo.ClientID %>').val()).mouseover(.........

您的代码将是

 $(document).ready(function () {
        alert('<% QuestionDivInfo.ClientID %>');
        $('#'+ $('#<%QuestionDivInfo.ClientID %>').val()).mouseover(function (e) {
            $('#<%HintDiv.ClientID %>').show();
        });

        $('#'+$('<%#QuestionDivInfo.ClientID %>').val()).mouseleave(function (e) {
            $('#<%HintDiv.ClientID %>').hide();
        });
    });

答案 2 :(得分:0)

 <script type="text/javascript">

        $(document).ready(function () {

            var hiddenFieldValue = $('input[id$=QuestionDivInfo_3]').attr('value');
            alert(hiddenFieldValue);
            var spanValue = $('span[id$=' + hiddenFieldValue + ']').html();
            alert(spanValue);
        });

    </script>

试试这个....它对我有用