2012-01-17 97 views
0

我有两个由drupal生成的单选按钮。我也有一个textedit框和一个按钮。用户应该输入它的id,当用户点击按钮时,会有一个ajax请求从数据库中获取两个值。我希望这两个值在单选按钮标签中显示。如何更改使用jquery的drupal生成的单选按钮标签?

单选按钮生成的代码由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()); 

它会输出“项目1”,所以我试图改变使用文本:

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

但是,然后我propably改变了整个标签的内容,因为“项目1”旁边的单选按钮消失梨:(

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

亲切的问候, 塞缪尔

+0

。尝试缩小到一个选择器。它可能会给你一个更准确的结果。 – Jeffrey 2012-01-17 08:12:53

回答

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/

+0

谢谢!那诀窍:) – user1028037 2012-01-17 08:56:16

+0

嗯,现在我看到了一个问题。如果多次这样做,“mylabel”会出现好几次。我发现了另一个解决方案: – user1028037 2012-02-03 09:32:55

+0

var label_contents = $(“label [for ='edit-new-amount-no-cost']”)。contents(); label_contents [label_contents.length-1] .nodeValue =“mylabel”; – user1028037 2012-02-03 09:33:42

相关问题