2017-03-22 12 views
-1

jQueryを使用して変数の値を入力値に設定しようとしていて、その値で新しい入力を追加しようとしています。問題は、値に二重引用符が含まれているために出力がうまくいかないことです。二重引用符を含む値を取得する

例:

<input value="a:1:{s:7:&quot;form&quot;;a:5" /> 
<div class="test"></div> 

のjQuery:

$('.test').append('<input type="radio" value="'+ value +'"/>'); 

出力:

<div class="test"><input value="a:1:{s:7:" form";a:5" type="radio"></div> 
+0

のval() '' $( '入力')を使用しないのはなぜ?また、どのバージョンのjQueryを使用していますか? –

+0

それは私にとってはうまくいく:https://fiddle.jshell.net/rkz9p67q/問題はどこか他の場所ではないと確信していますか? – Tacud

+0

私のためにうまく動作します:https://jsfiddle.net/barmar/shbkh69s/3/ – Barmar

答えて

0

問題は区切り文字がvalue属性をarountとしてあなたが"を使用していることであり、その文字はあなたがそこに置いている価値にもあります。したがって、これらの埋め込み引用符は属性を終了しています。

文字列を連結するのではなく、オブジェクト構文を使用して要素を作成すると、これらの構文の詳細を処理する必要はありません。

また、入力の値を設定する.val()機能を使用することができます。

$('.test').append($('<input>').val(value)); 
関連する問題