jQuery:重新启用选中和禁用选项

时间:2010-08-13 18:19:46

标签: jquery

我尝试从添加的列表中“删除”后从下拉列表中重新启用选定和禁用的选项。 谁能帮帮我吗。提前谢谢了。 以下是我到目前为止所提供的内容http://jsfiddle.net/N2jyy/2/演示页。

$(document).ready(function() {
    $('#Add-btn').live('click',function() {
        $(document.body).append($("<div>"));
            var a = $('#a').val();
            $("#tabName tr:first").before("<tr><td class='greyed'><input type='hidden' name='added_a' value='" + a + "'>" + a + "</td><td style='background:transparent;'><input type='button' class='delete' value='Remove'></td></tr>");
            $("#a option:selected").attr("disabled", true);
    });
    $('#tabName td .delete').live('click',function() {
        // here I want to re-enable the select option ...removeAttr('disabled');
        $(this).parent().parent().remove(); 
        return false;
    });
});​

2 个答案:

答案 0 :(得分:3)

你可以这样做:

$('#tabName td .delete').live('click',function() {
    var val = $(this).closest('tr').remove().find('input').val();
    $("#a option[value='" + val + "']").attr("disabled", false);
    return false;
});

Give it a try here,这会是<tr>然后一直到<input>,同时删除<tr>,然后我们使用它值以选择要重新启用的选项。

答案 1 :(得分:0)

作为替代方案,您也可以通过索引执行此操作:

$(document).ready(function() {
    $('#Add-btn').live('click', function() {
        $(document.body).append($("<div>"));
        var a = $('#a').val();
        $("#tabName tr:first").before("<tr><td class='greyed'><input type='hidden' name='added_a' value='" + a + "'>" + a + "</td><td style='background:transparent;'><input type='button' class='delete' value='Remove'></td></tr>");
        $("#a option:selected").attr("disabled", true);
    });
    $('#tabName td .delete').live('click', function() {
        var delindex = $(this).parent().prev().find('input').val() - 1;
        $("#a option:eq(" + delindex + ")").removeAttr("disabled");
        $(this).parent().parent().remove();
        return false;
    });
});