Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.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
C# 如何在jquery自动完成中传递文本框值_C#_Javascript_Jquery - Fatal编程技术网

C# 如何在jquery自动完成中传递文本框值

C# 如何在jquery自动完成中传递文本框值,c#,javascript,jquery,C#,Javascript,Jquery,我在web应用程序.NET3.5的一些文本框中使用jquery自动完成。我的问题是前缀文本总是空的。不会为其指定正确的值 function TextBoxAutoComplete(scope, controlId, contextKeyId) { var txtbox = null; var flagValue; if (scope) { txtbox = $('input[id$="' + controlId + '"]', scope); } else { txtbox =

我在web应用程序.NET3.5的一些文本框中使用jquery自动完成。我的问题是前缀文本总是空的。不会为其指定正确的值

function TextBoxAutoComplete(scope, controlId, contextKeyId) {

var txtbox = null;
var flagValue;
if (scope) {
    txtbox = $('input[id$="' + controlId + '"]', scope);
} else {
    txtbox = $('input[id$="' + controlId + '"]', document);
}

var contextKeyValue = $('input[id$="' + contextKeyId + '"]', document).val();

$(txtbox).autocomplete("../Handlers/MiscHandler.ashx", {
    minChars: 0,
    extraParams: { prefixText: $(this).val(), count: '10', contextKey: contextKeyValue, flag: 'codePart' },
    selectFirst: false,
    width: 49
}).result(function(event, data, formatted) { // result is a separate function
    var dummy = new Object();
    dummy.value = data[1];
    dummy.text = data[0];
    var test = new Test(dummy);
});
}
我在文档就绪时调用上述方法。这里的问题是,当我将文本框值传递给变量“prifixText”时,无法获取当前键入的文本框值 前缀:this.val

有人能帮我解决这个问题吗?感谢您尝试使用搜索事件,在您的示例中,您的范围不好

要设置选项use

请尝试使用搜索事件,在您的示例中,您的范围不正确


在朋友的帮助下,我终于找到了答案

在处理程序,../Handlers/MiscHandler.ashx中,我试图通过访问“prefixText”的值来访问文本框文本,如下所示

string prefixText = string.Empty;
if (context.Request["prefixText"] != null)
{
prefixText = context.Request["prefixText"].ToString();
}
但它不起作用,不允许我获取文本框的值。相反,我访问了查询字符串中的q参数,这是默认值

if (context.Request["q"] != null)
{
prefixText = context.Request["q"].ToString();
}

这工作非常完美,jquery代码没有问题,问题是我如何处理HTTP请求。谢谢。

在朋友的帮助下,我终于找到了答案

在处理程序,../Handlers/MiscHandler.ashx中,我试图通过访问“prefixText”的值来访问文本框文本,如下所示

string prefixText = string.Empty;
if (context.Request["prefixText"] != null)
{
prefixText = context.Request["prefixText"].ToString();
}
但它不起作用,不允许我获取文本框的值。相反,我访问了查询字符串中的q参数,这是默认值

if (context.Request["q"] != null)
{
prefixText = context.Request["q"].ToString();
}

这工作非常完美,jquery代码没有问题,问题是我如何处理HTTP请求。谢谢。

出于兴趣,如果您查询$txtbox.val,您会得到什么?我可能错了,但我认为这是实际的自动完成本身,没有选择值值得指出的是,您没有在这里使用jQuery UI版本的自动完成。您应该添加一个指向您正在使用的插件的链接,因为有几个类似的版本。@mattytommo-感谢您的快速响应。我也尝试过同样的方法,但没有成功。@MarkSchultheiss-实际上我们使用一个插件,jQuery Autocomplete plugin 1.1/**jQuery Autocomplete plugin 1.1**版权所有c 2009 Jörn Zaeffer**根据MIT和GPL许可证双重授权:***修订:$Id:jQuery.Autocomplete.js 15 2009-08-22 10:30:27Z joern.Zaeffer$*/我们添加了js文件,jquery.autocomplete.js到我的web UI项目。出于兴趣,如果查询$txtbox.val,您会得到什么?我可能错了,但我认为这是实际的自动完成本身,没有选择值值得指出的是,您没有在这里使用jQuery UI版本的自动完成。您应该添加一个指向您正在使用的插件的链接,因为有几个类似的版本。@mattytommo-感谢您的快速响应。我也尝试过同样的方法,但没有成功。@MarkSchultheiss-实际上我们使用一个插件,jQuery Autocomplete plugin 1.1/**jQuery Autocomplete plugin 1.1**版权所有c 2009 Jörn Zaeffer**根据MIT和GPL许可证双重授权:***修订:$Id:jQuery.Autocomplete.js 15 2009-08-22 10:30:27Z joern.Zaeffer$*/我们添加了js文件,将jquery.autocomplete.js添加到我的web UI项目。此处似乎未使用jquery UI版本。此处似乎未使用jquery UI版本。