【问题标题】:JQuery: How to Wildcard select visible element.Then get Selected ValueJQuery:如何通配符选择可见元素。然后获取选定值
【发布时间】:2012-03-13 11:41:35
【问题描述】:

我有一个从数据库填充的下拉列表列表(使用 ASP.NET)。

这些下拉列表是 ASP 控件,因此按 ID 选择它们是不可行的。

它们是这样命名的:

DD_Manufacturer1
DD_Manufacturer2
DD_Manufacturer3

这些 ASP.NET DropDown 列表有一个与其名称相同的类(示例:DD_Manufacturer1 的类是 ="DD_Manufacturer1")

我正在使用级联 dropdrop(我们将调用第一个选择输入 MyList1 的 ID)。用户从 MyList1 中选择一个选项后,我的一个 ASP DropDowns 变得可见(例如:我在 MyList1 中选择了 Manufacturer1,而 DD_Manufacuturer1 变为可见)

它应该是这样工作的:

Manufacturer1 是从 MyList1 中选择的 MyList1 的选定值被传递到名为 dvMake 的隐藏表单字段 DD_Manufacturer1 变为可见(这是一个 ASP.NET 控件) 用户在 DD_Manfacturer1 中选择一个选项 DD_Manufacturer1 的选定值被传递给名为 hidden-dvModel 的隐藏字段

现在,我想将 DD_Manufacturer1 的选择传递到隐藏字段,以便更容易操作。

到目前为止,这是我的代码:

function onModelChange() {
    $("#hidden-dvModel").remove(); //Removes Hidden Field if it already exists
    var dvMake = $("#hidden-dvMake").val(); //Get Make Value
    var ActiveMake = $("."+dvMake+""); //Derive Active DD List form Selected Make
    var ActiveMakeList = "DD_" + ActiveMake.attr('class') + "";
    alert(ActiveMakeList);//Succesfully returns DD_Manufacturer1 


    var SelectModel = ?
         $('#phSelect').append("<input type='hidden' id='hidden-dvModel' value='" + SelectModel + "' />");


}

我认为最好的方法是执行通配符选择并检查它是否可见,然后获取其选定值。

那么我将如何对 ID 以“DD”开头的任何元素进行通配符选择,这是可见的,然后获取它的选定值?

var SelectModel = $("[id^=DD_]:visible option:selected").val();返回“未定义”

【问题讨论】:

  • 在客户端获取asp.net生成的Id,可以使用;或在 web.config 中使用 ;顺便说一句,$("*[id^=dd]:visible option:selected").val() 在我的 FF10 上工作正常
  • 请包含生成的 HTML,以便我们看到您正在处理的内容。实际的 HTML 比试图描述它是什么的大量词语更有价值。

标签: jquery wildcard


【解决方案1】:

尝试使用

var SelectModel = $("[id*=DD_]:visible option:selected").val();

那是因为ASP.NET WebForms 通常会在 ID 前面加上内容占位符的 ID,从而为您的元素提供丑陋的名称,例如 ctl_ContentPlaceHolder01_DD_Manufacturer1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-02
    • 1970-01-01
    • 1970-01-01
    • 2010-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多