我尝试从添加的列表中“删除”后从下拉列表中重新启用选定和禁用的选项。 谁能帮帮我吗。提前谢谢了。 以下是我到目前为止所提供的内容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;
});
});
答案 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;
});
});