Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jquery在同一页面中的两个用户控件不起作用_Javascript_Jquery_Asp.net_User Controls - Fatal编程技术网

Javascript 使用jquery在同一页面中的两个用户控件不起作用

Javascript 使用jquery在同一页面中的两个用户控件不起作用,javascript,jquery,asp.net,user-controls,Javascript,Jquery,Asp.net,User Controls,我在Mizan.aspx中有两个相同的用户控件。我想使用自动完成 当我在 第一个用户控件文本框,它工作正常,一切正常 另一方面,当我在第二个用户控件文本框中写入时,它不工作也不工作 运行所使用的GetHesapKodu函数 $(document).ready(function () { SearchText(); //$('txtHesapKodu').keyup(function () { // SearchText

我在Mizan.aspx中有两个相同的用户控件。我想使用自动完成

当我在

第一个用户控件文本框,它工作正常,一切正常

另一方面,当我在第二个用户控件文本框中写入时,它不工作也不工作

运行所使用的GetHesapKodu函数

      $(document).ready(function () {
          SearchText();
          //$('txtHesapKodu').keyup(function () {
          //    SearchText();
          //});
      });

      function SearchText() {
          $("#txtHesapKodu").autocomplete({
              source: function (request, response) {
                  //alert("user controldeyizx");
            //      alert(document.getElementById('txtHesapKodu').value.uniqueID);
                  $.ajax({
                      type: "POST",
                      contentType: "application/json; charset=utf-8",
                      url: "../../jqueryTEST.asmx/GetHesapKodu",
                      //url: "belHesapPlani.ascx/GetHesapKodu",
                      data: "{'hesapKodu':'" + document.getElementById('txtHesapKodu').value + "'}",
                      dataType: "json",
                      success: function (data) {
                          response(data.d);
                      },
                      error: function (result) {
                          alert("No Match");
                      }
                  });
              }
          });
      }

Mizan.aspx


[System.Web.Script.Services.ScriptMethod]
[WebMethod(EnableSession=true)]
公共列表GetHesapKodu(字符串hesapKodu)
{
DataTable dt=新的MH_HESAP_PLANI().GetAllByHesapaneidKurum(1,“HESAP_KODU”,hesapKodu,null);
List strList=新列表();
foreach(数据行中的数据行项)
{
添加(item[“NAME”].ToString());
}
返回strList;
}

您正在
SearchText()
中筛选
#txtHesapKodu
,但请记住,
#
对ID和ID的筛选在整个网站上是唯一的。因此,在两个不同的用户控件中不能有具有相同ID的元素。改为使用name属性,并改为filter(
name=[txtHesapKodu]
)。

当我在第二个文本框中写入时,我会得到第一个usercontrol文本框值。当我在第二个文本框中写入时,我会得到第一个usercontrol文本框值。@ugurkabalak…因为您正在筛选一个ID,并且正如我一直说的那样,ID在整个站点中是唯一的,同一个ID不能有两次。添加名称属性而不是id属性以使其正常工作。如果你不知道怎么做,那就发布一些你的用户控件代码。函数SearchText(){$(“输入[name*='txtHesapKodu']”)。自动完成({源:函数(请求,响应){警报(document.getElementById(“”.value));警报(document.getElementById('txtHesapKodu').value);警报($(this.attr('txtHesapKodu').value);}});@ugurkabalak请将这些代码行添加到原始答案中,因为注释不是为发布大量代码而设计的。无论如何,请将呈现到浏览器中的自定义控件的代码发布。这必须类似于

            <td>
                <uc12:belHesapPlani runat="server" ID="belHesapPlani1" ClientIDMode="AutoID" Enabled="true" />
            </td>
        </tr>

            <tr>
                <td>
                    <uc12:belHesapPlani runat="server" ID="belHesapPlani2" ClientIDMode="AutoID" Enabled="true" />
                </td>
[System.Web.Script.Services.ScriptMethod]
[WebMethod(EnableSession = true)]
public List<string> GetHesapKodu(string hesapKodu)
{
    DataTable dt = new MH_HESAP_PLANI().GetAllByHesapNameIdKurum(1, "HESAP_KODU", hesapKodu, null);

    List<string> strList = new List<string>();
    foreach (DataRow item in dt.Rows)
    {
        strList.Add(item["NAME"].ToString());
    }

    return strList;
}