本文以實例形式展示了C#與js實現去除textbox文本框里面重復記錄的方法!具體方法如下:
現有如下問題:頁面有一個textbox文本框(是多行的),比如我在文本框里面輸入:111,222,333,555當再輸入111的時候會自動清除掉這個111,或者是在提交一個按鈕前清除掉這個相同記錄!
解決方案如下:
以逗號分割成一個數組 有一個Split()方法
然后比較 里面相等的就刪除掉后面的那個 形成新的實例
再把新實例按格式輸進來~
C#代碼如下:
string temp_str = "111,222,333,111,444,222";temp_str = string.Join(",", Regex.Split(temp_str, @"[,,]").Distinct());//111,222,333,444
此外,還可以用js實現這一功能,實現代碼如下:
<script type="text/javascript" language="javascript"> $(document).ready( function() { $('#txt_test').keyup( function() { var txt = $('#txt_test').val(); var str = new Array(); str = txt.split(","); var strc = txt.substring(txt.lastIndexOf(',') + 1, txt.length); for (var i = 0; i < str.length - 1; i++) { if (str[i] == strc) { alert(strc); var txt1 = txt.replace(txt.substring(txt.lastIndexOf(','), txt.length), ""); $('#txt_test').val(txt1); break; } } } ) } )</script>
前臺控件如下:
<asp:TextBox ID="txt_test" runat="server" TextMode="MultiLine"></asp:TextBox>
這樣寫唯一有點不好的地方是
如果輸入形如:111,
222,
111
這樣排列中間有回車的話,需要對第一行單獨判斷一下,最后是能夠寫一段處理回車,空格之類的JS在這個方法里面,對此讀者可以自己動手測試一下!
|
新聞熱點
疑難解答