单选按钮如何使用函数中确定的值预先选择值

时间:2012-04-23 09:13:19

标签: javascript jquery html

我的方法如下:

$('.officeapprovalspan').click(function () {

        var invoicelineid = $(this).data("invoicelineid");

        var approval = $(this).data("approval");

        $(this).replaceWith('<input type="radio" name="variety" value="null" class="radioapproval" data-invoicelineid=' + invoicelineid + ' /><span class="pleaseapprove">Please Accept</span><br >' +
                    '<input type="radio" name="variety" value="false" class="radioapproval" data-invoicelineid=' + invoicelineid + ' /><span class="onhold">On Hold</span><br >' +
                    '<input type="radio" name="variety" value="true" class="radioapproval" data-invoicelineid=' + invoicelineid + ' /><span class="accepted">Accepted</span>');

        $(document).on('change', '.radioapproval', radiohandler);
    });

所以,我有三个单选按钮。我想要实现的是基于变量批准的值预选相应的单选按钮。 Approval将具有null,false或true值。

有人可以告诉我你如何写这个,因为我将它添加到replaceWith

1 个答案:

答案 0 :(得分:2)

尝试使用.html()

var invoicelineid = $(this).data("invoicelineid");
var approval = $(this).data("approval");

$(this).html(
    '<input type="radio" name="variety" value="null" class="radioapproval" data-invoicelineid=' + invoicelineid + ' /><span class="pleaseapprove">Please Accept</span><br >' +
    '<input type="radio" name="variety" value="false" class="radioapproval" data-invoicelineid=' + invoicelineid + ' /><span class="onhold">On Hold</span><br >' +
    '<input type="radio" name="variety" value="true" class="radioapproval" data-invoicelineid=' + invoicelineid + ' /><span class="accepted">Accepted</span>'
)
.find(':radio[name="variety"][value="' + approval + '"]')
.prop('checked', true);

例如,如果approval变量的值为true,则会选择最后一个单选按钮。