Javascript选择不更新

时间:2012-01-12 15:44:38

标签: javascript jquery jquery-ui

我有以下代码。

function validateStatuses(bill_id){
    var bill = bills[bill_id];
    var selects = $('#bill_'+bill.bill_id+' .status_select');
    var codes = $('#bill_'+bill.bill_id+' .status_code');
    var value = null;
    for (var i = 0; i < selects.length; i++) {
        //value = document.getElementById('#Item_'+Item.item_id+'statuses'+codes).value;
        value = selects[i].options[selects[i].selectedIndex].value;
        if (value == 'new'){
            for (var j = 0; j < codes.length; j++) {
            var blagh = codes[j].options[codes[j].selectedIndex].text;
                if( value == 'new' && blagh == "none"){
                    //A status exist of NEW with a status code of NONE this is not acceptable
                    $('#info_dialog').html('');
                    $('#info_dialog').append("<p>You are trying to process an object with a View of NEW and a This CODE of NONE. Please correct this issue before you proceed!</p><hr />");
                    $('#info_dialog').dialog({
                        buttons:{
                            Cancel: function(){
                                $(this).dialog('close');
                            }
                        }
                    });
                    return false;
                }//end if           
            }//end for
        }else{

        }//end if
    }//end for
    return true;
}//end function

我希望错误仅在值=='new'&amp;&amp; blagh ==“无”符合。如果变量值已设置为new以外的值,则此方法有效。但是,如果变量是新的并且我没有更改选定的blagh索引,则条件仍然失败。 只有在值= = new时更改值和blagh的值时才接受条件。该函数是从onCLick事件运行的,我认为该事件会强制值变量更新为新选择的索引。我在这里错过了什么?有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您可能需要运行您的函数以响应select元素的change事件,而不是click事件。在您收到点击事件时,不会更新选择控件的值。