Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript/jquery-解析收音机的所有元素/复选框-如何获取每个元素的文本值_Javascript_Jquery - Fatal编程技术网

javascript/jquery-解析收音机的所有元素/复选框-如何获取每个元素的文本值

javascript/jquery-解析收音机的所有元素/复选框-如何获取每个元素的文本值,javascript,jquery,Javascript,Jquery,我试图通过复选框/单选按钮进行解析 作为一个例子,让我们考虑下面的单选按钮的HTML代码-- 作为输出,当我使用$(this).text()时,我没有得到任何值,尽管$(this).val()可以正常工作 如何获取单选按钮/复选框中每个元素的文本值。。。我可以用它来代替上面使用的$(this).text()?是否有其他方法来获取文本值(例如上面的示例中的“意大利面”或“意大利饭”)我认为您无法使用HTML检索文本值。理想情况下,您应该创建标签元素来保存文本。e、 g <input type

我试图通过复选框/单选按钮进行解析

作为一个例子,让我们考虑下面的单选按钮的HTML代码--

作为输出,当我使用$(this).text()时,我没有得到任何值,尽管$(this).val()可以正常工作


如何获取单选按钮/复选框中每个元素的文本值。。。我可以用它来代替上面使用的$(this).text()?是否有其他方法来获取文本值(例如上面的示例中的“意大利面”或“意大利饭”)

我认为您无法使用HTML检索文本值。理想情况下,您应该创建标签元素来保存文本。e、 g

<input type="radio" name="lunch" value="pasta1" /> <label>Pasta</label>
<input type="radio" name="lunch" value="rissotto1" /> <label>Rissotto</label>
编辑:

如果您不能更改HTML,这里有一个肮脏的解决方法

假设在这些单选按钮周围有一个id
wrapper
的包装器元素(form或div),并且每个单选按钮都有唯一的值-

/*
 * Create mapping between radio button values and texts
 */ 
var mapping = new Array();
var current_key = '';

$('#wrapper').contents().each(function()
{
   if(current_key)
   {
       mapping[current_key] = $(this).text();
       current_key = '';
   }
   if($(this).attr('type') == 'radio')
   {
       current_key = $(this).val()
   }
});  
然后,您可以轻松使用映射:

$('input[type=radio]').each(function()
{
    text = mapping[$(this).val()];
}) 
.text()
不适用于没有关闭标记的元素。e、 g.
如果您阅读了,就会清楚地看到,
.text()
方法不能用于表单输入或脚本


我不确定您到底想要显示什么,但给定
value
属性将在单选按钮旁边显示文本。这就是它的工作原理。我不知道你为什么要在那之后再发一条短信。但是如果是这样的话,@Vikk建议的解决方案是正确的。

@Vikk-我无法控制单选按钮,有没有办法获取我指定的HTML的文本值?即使您可以告诉我一种获取单选按钮所有元素的HTML代码的方法,我也可以手动解析这些元素…谢谢…@Vikk-只要最后一个查询,如果表单的单选按钮上重复一个或多个特定值,我该怎么办?谢谢…在这种情况下,我们可以通过使用名称和值的组合使键唯一,例如
current_key=$(this).attr('name')+'-'+$(this).val()
类似的内容。显然,您永远不会有两个具有相同名称和值的元素
$(this).next().text();
/*
 * Create mapping between radio button values and texts
 */ 
var mapping = new Array();
var current_key = '';

$('#wrapper').contents().each(function()
{
   if(current_key)
   {
       mapping[current_key] = $(this).text();
       current_key = '';
   }
   if($(this).attr('type') == 'radio')
   {
       current_key = $(this).val()
   }
});  
$('input[type=radio]').each(function()
{
    text = mapping[$(this).val()];
})