2011-02-28 64 views
1
<input type="checkbox" name="Rates" class="RatesClass">Rates & Fees<br /> 

如何使用Jquery动态更改文本Rates & Fees使用Jquery在输入标签内更改文本

谢谢!

这个没有定义类的那个呢?

<input type="checkbox" id="Value" name="Values">Values<br /> 

编辑:

<input type="checkbox" id="RatesFees" name="Rates" class="RatesClass">Rates & Fees<br /> 
<input type="checkbox" id="RatesOnly" name="RatesSpecific" class="RatesClass">Rates (All-In-Rate Only)<br /> 
+0

从哪里?你不需要使用Jquery来改变文本,使用DOM函数:'yourInput.NextSibling.Data ='new text';' – 2011-02-28 15:48:07

+1

通常你会在'Rates&Fees'周围放一个'

+0

@Martin文本不是输入的子项。它是一个兄弟姐妹,它周围没有任何标签,因此它将被封闭在输入的父domnode中。 – Endophage 2011-02-28 15:48:56

回答

2

最简单的将是从jQuery对象解开的input DOM元素,并使用本机nextSibling属性来获取文本节点,然后用data更新它的值。

$('input.RatesClass')[0].nextSibling.data = "new value"; 

如果在事件处理程序的时候,你只需要使用this指的元素。

$('input.RatesClass').change(function() { 
    this.nextSibling.data = "new value"; 
}); 
+0

如何处理没有定义类的元素,但其他所有元素的定义方式相同? – slandau 2011-02-28 15:48:10

+0

@slandau:您需要某种方式来选择输入。选择它的最好方法将取决于实际情况。如果你在处理程序位于''的事件处理程序中执行此操作,则只需使用'this'关键字,它将引用该元素。我会更新。 – user113716 2011-02-28 15:49:58

+0

@patrick,检查我的编辑。该输入没有定义类,我不能用你指定的方式使用Id,也不能使用Jquery .text()属性。 – slandau 2011-02-28 16:30:27

-1

您需要将一个id添加到输入。

<input id="myInput" type="checkbox" name="Rates" class="RatesClass">Rates & Fees<br/> 

然后在你的jQuery中。

$('#myInput').html('Here is some HTML') 
+0

你在哪里找到了'innerHTML'这里? – 2011-02-28 15:49:36

+0

我不知道为什么我这么说。 – s84 2011-02-28 15:50:49