簡體   English   中英

如何在 jquery 自動完成中傳遞文本框值

[英]How to pass the textbox value in jquery autocomplete

我在我的 web 應用程序 (.Net 3.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”時,我沒有得到它prefixText: $(this).val()

誰能幫我解決這個問題? 謝謝

嘗試使用search事件,在您的示例中,您處於錯誤狀態 scope。

http://jqueryui.com/demos/autocomplete/#event-search

要設置選項,請使用http://jqueryui.com/demos/autocomplete/#method-option

終於在朋友的幫助下找到了答案。

在處理程序“../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 請求。 謝謝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM