如何使用jquery更改drupal生成的单选按钮标签?

时间:2012-01-17 08:09:14

标签: jquery drupal radio-button

我有两个由drupal生成的单选按钮。我还有一个textedit框和一个按钮。用户应输入其id,当用户单击该按钮时,将有一个ajax请求将从数据库中获取两个值。我希望这两个值显示在单选按钮标签中。

Drupal为单选按钮生成的代码如下所示:

<div class="form-radios">
  <div class="form-item" id="edit-new-amount-no-cost-wrapper">
    <label class="option" for="edit-new-amount-no-cost">
    <input type="radio" id="edit-new-amount-no-cost" name="new_amount" value="no_cost" class="form-radio" />
    Item 1
    </label>
  </div>
  <div class="form-item" id="edit-new-amount-rounded-wrapper">
    <label class="option" for="edit-new-amount-rounded">
    <input type="radio" id="edit-new-amount-rounded" name="new_amount" value="rounded" class="form-radio" />
    Item 2
    </label>
  </div>
</div>

如果我这样做:

alert($("label[for=edit-new-amount-no-cost],#edit-new-amount-no-cost").text());

它将输出“Item 1”,所以我尝试使用以下方式更改文本:

$("label[for=edit-new-amount-no-cost],#edit-new-amount-no-cost").text(values[1]);

然而,我可以改变整个标签内容,因为“第1项”旁边的单选按钮消失了:(

有什么想法吗?我想将“Item 1”和“Item 2”更改为ajax请求中的特定值。我不想更改整个标签内容,因为单选按钮会消失。

亲切的问候, 塞缪尔

1 个答案:

答案 0 :(得分:1)

试试这个

var radio_elem = $('#edit-new-amount-no-cost');
$("label[for='edit-new-amount-no-cost']").html(radio_elem).append("mylabel");

小提琴示例:http://jsfiddle.net/gAypv/1/