0
我有一個包含select的集合的頁面,用於標識文本文件中的列。每次用戶識別一列時,所選選項將從頁面上的其他選擇中刪除。當用戶識別所有列時,需要激活「提交」輸入,以便用戶可以轉到下一步。我需要一個切肉刀的方式來確定何時所有的列已被選中。基於選擇的JQuery啓用按鈕
<script type="text/javascript" src="https://www.repfolio.com/Scripts/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="https://www.repfolio.com/Scripts/jquery.selectboxes.min.js"></script>
<script type="text/javascript">
$(document).ready(
function() {
$('.ct').bind('change', function() { updateControls(this); });
}
);
function updateControls(c) {
$('.ct').unbind();
if ($(c).val() == 'Reset') {
var opt = $(c).find("option[value!='Reset']");
// if there are selects with value = '' then add this option back to them -- need to address this select too
if ($(".ct").filter("[value='']").size() > 0) {
$(".ct").filter("[value='']").each(function() {
$(this).append($("<option></option>").attr("value", $(opt).val()).text($(opt).text()));
});
var options = $(".ct").filter("[value='']:first").children().clone();
$(c).find('option').remove();
$(c).append($(options));
} else {
$(c).find('option').remove();
$(c).append($("<option></option>").attr("value", "").text("-- Select Column -"));
$(c).append($("<option></option>").attr("value", $(opt).val()).text($(opt).text()));
};
} else {
var s = $(c).children().filter('option[selected=true]');
$(c).find('option').remove();
$(".ct option[value='" + $(s).val() + "']").each(function() { $(this).remove(); });
$(c).append($("<option></option>").attr("value", $($(s)).val()).text($(s).text()));
$(c).append($("<option></option>").attr("value", "Reset").text("Reset"));
}
$(".ct").filter("[value='']").sortOptions()
$('.ct').bind('change', function() { updateControls(this); });
if ($('select.ct option:nth-child(3)').length)
$('#submit').attr('disabled', 'enabled');
};
</script>
這是,其使得鈕的部分:
if ($('select.ct option:nth-child(3)').length)
$('#submit').attr('disabled', 'enabled');
注意:被映射的文件可能包含10個或更多列,但只需標識5個。 – user135498 2009-10-06 17:07:39
您可以給出文件中列的列表的具體示例,選擇內容walkthourgh關於當用戶在選擇控件中選擇值時應該發生什麼? – 2012-05-02 11:58:08