2012-01-11 3 views
5

私はリストメニューを除いて動作しているuniformjsフォームコントロールを使用しています。リストのメニューに '&'のシンボル(&)を追加すると、正しくレンダリングされますが、値を別の値に変更して値を再度選択すると、&というシンボルがレンダリングされ、&と表示されます。 '&'リストメニュー。 enter image description herejquery unformjs select menu '&'文字エンコーディングのヘルプが必要

enter image description here

<select> 
<option>Through &amp; Google</option> 
<option>Through Twitter</option> 
<option>Other&hellip;</option>   
<option>&lt;Hi&gt;</option> 
</select> 

http://uniformjs.com/#example

誰かが、私はこの問題は、この行(source - ライン185)から来るかもしれないと思う。..問題が何であるかを

+0

マークアップのエンティティとしてアンパサンドがrepresrntedされていますか? ''?私は両方の方法みましたが、問題の両方がまだ保持して... –

+0

@Didier G.が、これがために働きました私!ありがとう。 – Ravi

答えて

3

を私に言うことができます。

spanTag.text(elem.find(":selected").html()); 

次のHTMLがある場合:One &amp; Two 特殊文字は以下のとおりです。

<select> 
    <option>One &amp; Two</option> 
    <option>One & Two</option> 
</select> 
  1. プラグインはHTMLを取得するときに、この値を返しますelem.find(":selected").html()

    オプション要素の両方をやってHTMLなどのコンテンツを取得しますhtmlエンティティによって表される(この例では&&amp;

  2. その後、プラグインが

&amp;&amp;として表示されている)ので、HTMLエンティティが解析されませんspanTag.text(<html>);

を使用してテキストとして、この結果を適用し、このfiddleはそれを示しています。

私はなぜuniformjsを少し変更しないで、Didlerによる& ...

4

などの特殊文字を使用しない場合を除くと解決策があると思いませんか?

私は最近、同じシナリオに出会っています。そして、Didlerが私に場所の場所を探す時間を節約する正確な行を指摘してくれたことに感謝します。私は185行のコードを変更するようにするため

<option>aaa</option> 
<option><a>bbb<br>ddd<hr>ccc</option> 

解決
spanTag.text(elem.find(":selected").text()); 

私の場合は

、私は価値を持つ選択を持っているなどの特殊文字、で構成されてい値をレンダリングするときに正しい形状になってしまうという問題があります。

opのシナリオでは、使用しているサーバー側の言語はわかりませんが、htmlページを生成する前にオプション内のテキストをエスケープする方法がありますので、htmlには文字はありませんが、文字には&amp;自体。 私はJSTL <c:out value="${******}"/>を使用してoptionタグに値を入れるだけでよいので、Javaを使用しています。

+0

は素晴らしい提案@Jamesだこのオプション – Ravi

4

の代わりに.text()を使用するように、4行のコード(行173,185,212、および569)を更新するプルリクエスト(130)があります。私が見た後の2つのプルリクエストは、4行すべてを更新していないようです。

あなたが同様に縮小さバージョンを更新したい場合は、これらの二つのスニペットを検索することができます。

  • l.html(n.html()(X1 - 「HTML」の2番目のインスタンスを変更する)
  • :selected").html((X3 - のみ変更'html'のインスタンス)
+0

を生成するための常温核融合を使用しています –

関連する問題