2016-07-05 8 views
0

自分のデータを選択または選択解除するためのカスタムチェックボックスを生成しました。私は、データの選択と選択解除のための2つのカスタム関数を持っています。 selectメソッドでは、私は2つの変数を渡す必要があり、フィールド値です。特殊文字を含む動的文字列変数をJQuery関数に渡す

マイコード:

<span custom-checkbox="true" 
is-checked="false" 
name="id" 
data-val="{this.id}" 
on-select="DataSelect('{this.id+'\',\'' +this.name}')" 
on-unselect="DataUnselect('{this.id}')" id="{this.id}"> 
</span> 

function DataSelect(id, value){ 
    console.log(id); 
    console.log(value); 
    //my code 
} 

function DataUnselect(id, value){ 
    //my code 
} 

問題:

名フィールドは引用符( '')などの特殊文字が含まれています。以下はサンプルデータです。

id = "1"; 
name= "hey'len"; 

ここでは、引用符( ')のために問題が発生しました。したがって、データは次のように操作されます。

DataSelect('1', 'hey'len') 

だから私は、 ":欠落している)引数リスト後キャッチされないでSyntaxError" となりました。

あなたはそれが( ')のすべてのoccuranceを置き換えますこれを使用し.replace()

id = "1"; 
name= "hey'len"; 
name.replace('\'', '\\\''); 
+0

それを試してみてください –

+0

方法自体に更新するように助けてください。 in html dataselect – Akhil

+1

もう少し詳しい情報を提供してください。 jqueryだけではこれができないように見えるので(htmlの '{..}'の処理) –

答えて

1

にこれを修正助けてください。また、 "hey'len'new'something"とうまく動作します。

( "\ ' "グラム、" \\'")このname.replaceを試してみてください

+0

名前に複数の引用符がある場合、それは失敗しました。助けてください – Akhil

0
id = "1"; 
name= "hey'len"; 
name.replace('\''g, '\\\''); 

を使用して文字列から引用符をエスケープすることができ、私は

+0

私はこれが複数発生を含む必要があります。これは動作していません – Akhil

+0

.replace(/ '/ g、' \\\ '')を使用して修正しました – Akhil

+0

@Akhil素晴らしいです –

関連する問題