.val()函数是修剪特殊字符

时间:2014-05-28 13:20:35

标签: javascript jquery jsp

我有一个标签,其中值 Coeur D'alene 已预先填充。标签定义为

<label for="otherSpokenLanguage" class="hide"><spring:message     code="label.entity.otherSpokenLangugesInput"/></label> 

现在的问题是我正在尝试 $(“#otherSpokenLanguage”)。val();

我只得到 Coeur D

我有什么方法可以获得标签内的全部价值 Coeur D'alene

2 个答案:

答案 0 :(得分:1)

我的猜测(没有看到输出html )是value属性应用了单引号',因此文本中的引号使属性结束。

这样的东西
<input id='otherSpokenLanguage' value='Coeur D'alene' />

看问题?


你必须让包装引号加倍"如果值现在包含" ,你会得到同样的问题)

<input id="otherSpokenLanguage" value="Coeur D'alene" />

或html对值进行编码,使其中的'变为&#39;

<input id='otherSpokenLanguage' value='Coeur D&#39;alene' />

答案 1 :(得分:0)

如果您想在此处获取输入值或标签内的文字,则不是100%。

  1. 如果一个输入的值,那么很明显html中的属性被包装在单引号(')而不是double(“)中,我认为这将解决问题。目前它看起来像'正在逃避报价。

    所以你会有这样的事情:

    <input id="otherSpokenLanguage" value="Coeur D'alene" type="text" />
    

    alert($("#otherSpokenLanguage").val());
    

    会给你全部价值。请参阅小提琴:http://jsfiddle.net/85Jzn/

  2. 如果您希望从label元素中获取文本,那么您需要搜索没有id的标签,然后从中获取文本。像这样的东西就是你的HTML:

    <label for="otherSpokenLanguage">Coeur D'alene</label>
    

    所以你的JS将是:

    alert($("label[for=otherSpokenLanguage]").text());
    

    这将获得标签文本。请参阅小提琴:http://jsfiddle.net/Lta6N/

  3. 希望有所帮助。