【问题标题】:jQuery selector with ASP.NET controls带有 ASP.NET 控件的 jQuery 选择器
【发布时间】:2010-12-13 10:29:06
【问题描述】:

iam 在 asp.net 页面中使用 ajax 获取州、城市和邮政编码字段。我希望这个 ajax 功能是通用的。我想对具有不同 id 的文本框和标签控件使用相同的 ajax 功能。我尝试使用 cssclassproperty,但它适用于两组控件。代码如下

<script type="text/javascript">
   $(document).ready(function () {

       $('.csszipcode').blur(function (event) {

           var text = $('.csszipcode').val();

           if (text == "") {


               $('.csslblcity').text("");
               $('.csslblstate').text("");
               return;
           }

           var isValid = /^[0-9]{5}(?:-[0-9]{4})?$/.test(text);

           if (!isValid) {
               $('.csslblcity').text("");
               $('.csslblstate').text("");


               return;
           }


           $.ajax({

               type: "POST",
               url: "/SERVICES/DataService.asmx/getCityState",
               data: "{'zipcode': '" + $('.csszipcode').val() + "'}",
               contentType: "application/json; charset=utf-8",
               dataType: "json",
               success: function (msg) {
                   AjaxSucceeded(msg);
               },
               error: AjaxFailed

           });

       });

   });

   function AjaxSucceeded(result) {
       var city = result.d.split(':')[0];
       var state = result.d.split(':')[1];

       if (city != null && state != null) {

           $('.csslblcity').html(city);
           $('.csslblstate').html(state);
       }
       else {
           $('.csslblcity').text("");
           $('.csslblstate').text("");

       }
   }

   function AjaxFailed(result) {
       alert(result.status + ' ' + result.statusText);
   }

</script>

html 代码如下。我想为以下两个应用 ajax 功能 文本框。我如何区分哪些当前处于活动状态。

<asp:textbox id="txtzipcode" runat="server" cssclass="csszipcode"></asp:textbox>
<asp:textbox id="txtcandacode" runat="server" cssclass="csszipcode"></asp:textbox>

【问题讨论】:

  • 你试过使用ClientId吗?在这里检查 -> msdn.microsoft.com/en-us/library/…
  • 真的必须澄清这个问题。事实上,它没有任何意义。
  • 我可以在这方面为您提供帮助,但您需要在我之前开始对您的其他一些答案进行投票。

标签: jquery asp.net-ajax


【解决方案1】:

我不完全清楚你在问什么。

你说:

我想使用相同的 ajax 文本框的功能和 用不同的 id 标记控件。

暗示您希望文本框和标签具有相同的功能,然后说:

我尝试使用 cssclassproperty 但它 适用于两组控件。这 代码如下

暗示您不希望它应用于文本框和标签。

你能澄清一下吗?

另外,发布您的 HTML(最好是呈现的代码)。这将帮助我们确定如何最好地实现您想要的。

我可以尝试回答,但鉴于我不确定您在问什么,可能是错误的。

ASP.NET 标签控件呈现为&lt;span&gt; HTML 元素。要区分具有相同类的文本框和跨度,请使用以下选择器

$('input.csszipcode')
$('span.csszipcode')

要将选择器缩小到仅文本框,试试这个:

$('input:text.csszipcode')

如果这不是您所追求的,您可以添加更多说明吗?

【讨论】:

    猜你喜欢
    • 2018-07-19
    • 2015-11-20
    • 2014-07-19
    • 1970-01-01
    • 2014-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-19
    相关资源
    最近更新 更多