是否可以使用 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

如何使用 jQuery 正确更改单选按钮标签?

jQuery使用数据目标更改带有onClick侦听器的一组单选按钮标签的innerHtml

是否可以在单选按钮悬停时调用函数并使用 jQuery 显示在工具提示中返回的信息

通过单选按钮更改 Jquery 表单提交

jQuery怎样判断按钮是不是被选中