【问题标题】:How to set the value in the textboxes - asp.net using jquery?如何使用 jquery 在文本框中设置值 - asp.net?
【发布时间】:2012-09-16 23:49:46
【问题描述】:

我有一个 id 为 'tbl' 的表格,其中包含 id 如下所示的文本框控件

<table id="tbl">

txt1Text1
txt1Text2

txt2Text1
txt2Text2

txt3Text1
txt3Text2
.................
.................

我想在 id 以 Text1 结尾的文本框中设置特定值 我想用 jquery/javascript 来做。

感谢您的帮助。

【问题讨论】:

  • 请指定控件是html控件还是服务器控件
  • 请注意一点,他只想设置那些id以'Text1'结尾的控件的值。有问题,有 3 个控件。
  • 你应该添加一个假的 css 类,它允许你“标记”文本框。然后使用 jQuery 使用 css 类选择器找到这些文本框。事实上,您还应该描述如何创建文本框。逐个?使用数据绑定控件?使用mvc?即时创建?有了这个问题的答案,你会得到更好的答案,因为可能有成千上万种方法可以解决这个问题。
  • @SteveB,发布这个答案,我会投赞成票。这似乎是“最佳实践”的答案。
  • @Neil:我会在 azeemraza 提供有关他如何创建文本框的更多细节时。

标签: javascript jquery asp.net html css


【解决方案1】:

您可以使用Attribute Ends With 选择器。

$('#tbl input[type=text][id$=Text1]').val('new value')

【讨论】:

  • +1。只有将文本框与输入标签区分开来的答案。
【解决方案2】:

你应该添加一个假的 css 类,它允许你“标记”文本框,然后使用 jQuery 使用 css 类选择器找到这些文本框。

<asp:TextBox runat="Server" CssClass="existingClass FakeClass" id="txt1" />
<asp:TextBox runat="Server" CssClass="existingClass FakeClass" id="txt2" />
<asp:TextBox runat="Server" CssClass="existingClass FakeClass" id="txt3" />

<script type="text/javascript">
    $(function(){
        $(".FakeClass").val("42");
    });
</script>

这里重要的是,“FakeClass”不必存在。这只是一个标记。

【讨论】:

    【解决方案3】:
    $("input[id $= Text1]").val('your value');
    

    【讨论】:

      【解决方案4】:

      试试这个

      $('#tbl input[id$="Text1"]').val('my value');
      

      Attribute Ends With Selector

      选择具有指定属性且值恰好以给定字符串结尾的元素。比较区分大小写。

      【讨论】:

        【解决方案5】:
        $('input[type=text][id$=Text1]').val('value');
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-11-09
          • 1970-01-01
          • 2013-07-07
          • 1970-01-01
          • 1970-01-01
          • 2012-03-20
          • 2010-12-11
          • 2020-03-28
          相关资源
          最近更新 更多