是否可以使用 jquery 更改单选按钮中的字符串值?
Posted
技术标签:
【中文标题】是否可以使用 jquery 更改单选按钮中的字符串值?【英文标题】:Is it possible to change the string value in a radio button with jquery? 【发布时间】:2016-01-14 14:15:38 【问题描述】:<form>
<input type="radio" name="EmbedSizeID" value="ASP.NET"> ASP.NET
<br>
<input type="radio" name="EmbedSizeID" value="JSP/JAVA"> JSP/JAVA
<br>
<input type="radio" name="EmbedSizeID" value="NODE.JS"> NODE.JS
<br>
<input type="radio" name="EmbedSizeID" value="php"> PHP
<br>
<input type="radio" name="EmbedSizeID" value="PYTHON"> PYTHON
</form>
在每个收音机上,如果您看到文本字符串“ASP.NET、JSP/JAVA”等,我想知道是否可以使用.attr()
函数更改/替换这些字符串?或者如果有另一种方式?我正在尝试回收相同的收音机,这样我就不必重复那么多了。
【问题讨论】:
Jquery change value on input的可能重复 是的。你真的尝试过什么吗? 使用.val()
函数改变value
属性。
是的,我尝试使用 .attr() 但这不是一个好方法@j08691
那些以点开头的函数,.attr()
和.val()
,是否更恰当地称为方法?不熟悉这种语言,但对我来说它们看起来像是方法。
【参考方案1】:
将文本放在一个跨度中,以便您可以使用选择器引用它。
那么你可以这样做:
$("#button").click(function()
$(":radio[name=EmbedSizeID][value='ASP.NET']").next("span").text("New text");
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="radio" name="EmbedSizeID" value="ASP.NET"><span> ASP.NET</span>
<br>
<button id="button">Change radio</button>
【讨论】:
我认为您需要在 value 属性周围加上引号。当我测试它时,它不适合我。 我认为句号在属性选择器中没有任何特殊含义,但我已经修复了它。 另一种方法是像[value=ASP\\.NET]
一样双重转义它。
我怀疑它可能首先搜索 .
作为类前缀,而不是首先将方括号解析为属性选择器。 jQuery 中的选择器解析器有点特别。
嗯,对不起,如果我的问题不够清楚,我指的是输入函数之外的文本。以上是关于是否可以使用 jquery 更改单选按钮中的字符串值?的主要内容,如果未能解决你的问题,请参考以下文章
jQuery使用数据目标更改带有onClick侦听器的一组单选按钮标签的innerHtml