我在Mizan.aspx中有两个相同的用户控件。我想使用自动完成
belHesapPlani中的txtHesapKodu(它是用户控件)。当我在
中写任何东西时第一个用户控制文本框,它可以工作,一切都很好。另一个
手,当我在第二个用户控件文本框中写入时,它不起作用而不是
运行使用的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
<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;
}
答案 0 :(得分:0)
您正在#txtHesapKodu
中过滤SearchText()
,但请注意,ID和ID的#
过滤器在整个网站中都是唯一的。因此,您不能在2个不同的用户控件中拥有具有相同ID的元素。请改用名称属性,然后过滤(Name=[txtHesapKodu]
)。