2016-09-09 1 views
0

コンマで区切った項目をSQLテーブルに投稿する選択可能な項目がありますが、カンマの間には空白がたくさんあります。私はテーブルのポストの後のスペースを削除するために泣いているウサギの全体を降りていったが、最善の解決策は、最初にSQLテーブルにデータがきれいに投稿されることを確認することだと決めた。これは転記される変数です。jquery uiで空白を削除する方法SQLテーブルに挿入する前に

positionTags = Request.Form["hidPostag"]; 

これは私が

var db = Database.Open("mydb"); 
foreach (var item in db.Query("SELECT positiontagName FROM positiontag")) 
       { 
        var positiontag = item.positiontagName; 
        <ul class="selectable" id="selectable1"> 
         <li class="ui-state-default" id="@positiontag"> 
          @positiontag 
         </li> 
        </ul> 
       } 

選択を構築しています。これは、私が選択した値

<input type="hidden" name="hidPostag" id="hidPostag"> 

を保存するために使用私の隠されたフィールドで、最終的にはこれはグラブスクリプトがどのようですクラスui-selectedで選択されたアイテムを選択し、それらを隠しフィールドに書き込みます(私は問題が疑わしい)。スクリプトで

<script> 
function getSelected() { 
      var selectedVals = []; 
      $('#selectable1 .ui-selected').each(function(k,v) { 
       selectedVals.push($(v).text()); 
      }); 
      document.getElementById("hidPostag").value = $.trim(selectedVals); 
     } 
     $('#getVals').click(function() { 
      getSelected(); 
     }); 
</script> 

私は多分問題は、私はので、私は唯一の子要素をつかむために、セレクタを変更しようとしたが、そうでないのliビットと余分なスペースにスクープULをつかんれたことだと思ったの上次

$('#selectable1 ul.ui-selected > li').each(func..... 

マイSQLインサートはこの

"Community College Expert        ,    Physician Researcher and Clinician     ,      Physician Researcher and Clinician" 

答えて

0

のように$ .trimを(見てまったく機能)を使用すると、各アイテムのためにそれを行う必要がありますのでのみ、先頭と末尾の空白を削除します:

<script> 
    function getSelected() { 
     var selectedVals = []; 
     $('#selectable1 .ui-selected').each(function(k,v) { 
      selectedVals.push($.trim($(v).text())); 
     }); 
     document.getElementById("hidPostag").value = selectedVals; 
    } 
    $('#getVals').click(function() { 
     getSelected(); 
    }); 
</script> 

P.S: あなたが本当にデータベースに挿入する前に、データをサニタイズする必要があります。

+0

ありがとうございました。テストされ、働いた。最初と最後の前に余分な空白があることに気づいた良い見解は、document.getElementById部分に$ .trim(selectedVals)を持つことできれいになり始めました。 – TimK

関連する問題