2017-06-03 39 views
0

尝试抓取输入元素集合中的输入元素的html。它们都具有相同的名称,但具有不同的html和值。我如何从输入中获取值为theme的html和等于1-9之间某个数字的值?如何使用jQuery获取给定名称和值的HTML

实施例:

<input type="radio" name="theme" value="1" checked> Option 1<br> 
<input type="radio" name="theme" value="2"> Option 2<br> 
<input type="radio" name="theme" value="3"> Option 3<br> 
<input type="radio" name="theme" value="4"> Option 4<br> 
<input type="radio" name="theme" value="5"> Option 5<br> 
<input type="radio" name="theme" value="6"> Option 6<br> 
<input type="radio" name="theme" value="7"> Option 7<br> 
<input type="radio" name="theme" value="8"> Option 8<br> 
<input type="radio" name="theme" value="9"> Option 9<br> 
随机

情形中,我需要获取inputname=themevalue=4,即, “选项4” 的HTML。

谢谢大家!

回答

1

您可以使用labelspan将您的文字包裹在radio button旁边。这样一来,会更容易的目标与JQuery

HTML文本:

<input type="radio" name="theme" value="1" checked><span> Option 1</span><br> 
<input type="radio" name="theme" value="2"><span> Option 2</span><br> 
<input type="radio" name="theme" value="3"><span> Option 3</span><br> 
<input type="radio" name="theme" value="4"><span> Option 4</span><br> 
<input type="radio" name="theme" value="5"><span> Option 5</span><br> 
<input type="radio" name="theme" value="6"><span> Option 6</span><br> 
<input type="radio" name="theme" value="7"><span> Option 7</span><br> 
<input type="radio" name="theme" value="8"><span> Option 8</span><br> 
<input type="radio" name="theme" value="9"><span> Option 9</span><br> 

JS:

var tmp = $('input[name="theme"][value="4"]').next().text(); 
alert(tmp); 

演示:https://jsfiddle.net/L8xzhu9u/

2

您可以使用jquery attribute selector

$('input[name="theme"][value="4"]').html(); 
+0

试图从字符串中传递价值,我改变它看起来像这样:'$('input [name =“theme”] [value =''+ array [2] +'“]')'但它不起作用 – Ethan

+0

什么是'数组' '阵列[2]'? –

+0

@Ehan:接受答案。在数组和循环之前进行更多的向导调整...提出另一个问题。 –

-2

输入元素没有任何与之相关的文本。相反,你想抓住下一个兄弟姐妹并显示它所保存的文本内容。

$('input[name="theme"][value="4"]').get(0).nextSibling.textContent; 

或者,您可以像前面提到的那样将“选项4”文本包装在一个范围中。

相关问题