2011-09-13 7 views
0

基本的には、タイトルフィールド(コンボボックス)で40文字以上入力できないようにしてください。ASP.NETでコンボボックスコントロールの長さを制限するにはどうすればよいですか?

あなたは何らかのポインタを提供できますか?

+0

Ajax Control Toolkitの 'ComboBox'コントロールを参照しています。 –

+0

@Paperjam ...そうです。 –

+0

@Paperjam ...入力する長さを制限する方法はありますか? –

答えて

0

コントロール自体にその機能がないようですので、おそらく独自のバージョンを作成する必要があります。

カスタムコントロールを作成して、ComboxBoxコントロールを拡張することができます。チェックアウト:this blog post

$(function() { 

    var comboxBoxControlInput = $("#<%=comboBoxControlId.ClientID%>$TextBox"); 
    $(comboxBoxControlInput).keyup(function() { 
     limitLenth(this, 40); 
    }); 

}); 

function limitLength(control, length) { 
    var currentContent = $(control).val(); 
    var currentLength = currentContent.length; 
    if(currentLength > length) { 
     $(control).val(currentContent.substr(0, length)); 
     return false; 
    } 
} 

残念ながら、それは少しハックです:

もう一つのアイデアは、ComboBoxコントロールが生成inputコントロールに追加される40個の以上の文字を防ぐためにjQueryを使用することです。 ComboBoxコントロール(<%=comboBoxControlId.ClientID%>)のClientIDを取得し、最後に$TextBoxを追加して、jQueryが正しいコントロールを選択する必要があります。

編集:正しい入力制御を選択する もう一つの方法は、これを行うことです。

$("#<%=comboBoxControlId.ClientId%>").find("input[type=text]"); 

これはComboBoxコントロールが作成されますdiv内の最初のテキスト入力を選択します。

関連する問題