【问题标题】:How to disable classes with same name and differnt instance in jquery?如何在jquery中禁用具有相同名称和不同实例的类?
【发布时间】:2013-07-03 11:30:57
【问题描述】:

我有一个 webControl 和 3 个 TextBoxes,我在同一页面中使用了这个 webControl,但两次有 2 个实例。

我想对一个控件隐藏一个文本框,对另一个控件隐藏另一个文本框。

<uc1:VoyageSelector runat="server" ID="VoyageSelector1"  Instance="1" />

<uc1:VoyageSelector runat="server" ID="VoyageSelector2"  Instance="2" />

此控件的文本框类为:

$(".vss-week-picker").val(); 
$('.vs-voyage-picker').val(); 
$('.vs-vessel-display').val(); 

当我禁用时:

$(".vss-week-picker").hide();

Both Controls Week TextBox 正在隐藏。 如何解决隐藏一个实例类的问题?

【问题讨论】:

    标签: jquery instance show-hide web-controls


    【解决方案1】:

    获取控件生成的元素的 id,并使用它来选择目标。

    例如,如果它产生一个 id 为“VoyageSelector1”的父元素,那么你可以像这样隐藏它的文本框:

    $('.vss-week-picker','#ContentPlaceHolder1_VoyageSelector2_tblVoyageSelector').‌​hide();
    

    【讨论】:

    • 我只是举了一个例子,如果你复制粘贴当然不行。你能发布生成的html吗?
    • $("#ContentPlaceHolder1_VoyageSelector2_tblVoyageSelector .vs-service-picker").hide();这样它的工作
    • 我就是这么说的。获取生成的 id 并使用它。我不知道确切的 ID,VoyageSelector1 就是一个例子。只需在我的代码中将VoyageSelector1 替换为ContentPlaceHolder1_VoyageSelector2_tblVoyageSelector,就可以了。你会得到这个:$('.vss-week-picker','#ContentPlaceHolder1_VoyageSelector2_tblVoyageSelector').hide();
    • 好的。我很高兴它有效。准确地说,这种方式(也许只是理论上)更快。见这里 --> stackoverflow.com/questions/650860/…
    【解决方案2】:

    我以前做过,不记得具体了,希望这样可行

    $("[id ^= VoyageSelector1] .vss-week-picker").hide();
    

    【讨论】:

    • $("#ContentPlaceHolder1_VoyageSelector2_tblVoyageSelector .vs-service-picker").hide();这样它的工作......,谢谢 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-30
    • 2014-01-19
    • 1970-01-01
    • 2022-12-18
    • 1970-01-01
    • 2011-11-20
    相关资源
    最近更新 更多