簡體   English   中英

驗證下拉框選擇?

[英]Validation for dropdown boxes selection?

在這里我的要求是,一旦我們在一個選擇框中選擇SON或父親,如果我在另一個選擇框中選擇“婆婆”或“父親在法律”,我想要一條警告信息,例如“公婆不適用”。

這是我的代碼,

if (arr.indexOf(!(($(this).val() == 'Son' || $(this).val() == 'Father'))) > -1) {
    alert('In-laws are not applicable');
    return false;
}

任何人都可以幫助我。 jsFiddle就在這里

-謝謝。

在用戶選擇Father-in-lawMother-in-law后,您可以查看尋找SonFather每一個selects

if($(this).val()=='Mother-in-law' || $(this).val()=='Father-in-law'){

    //for each of the Relation selects, we check if anyone is Son or Father              
    $('.classSelect').each(function(){
        var currentSelect = $(this).val();
        if( currentSelect == 'Son' ||  currentSelect == 'Father'){
            alert("In-laws are not applicable");  
        }
    });

}   

生活示例: http//jsfiddle.net/4QUMG/10/

更新

使用arr數組的實例: http//jsfiddle.net/4QUMG/12/

另外,我會將$(this).val()的值保存在變量中。

如果我了解你,你想要的是看看“兒子”或“父親”是否已被選中,而我們目前正在選擇一個“姻親”,以拋出錯誤。

if (arr.indexOf('Son') > -1 || arr.indexOf('Father') > -1 && currentVal.indexOf('-in-law') > -1) {
        alert('In-laws are not applicable');
        return false;
    }

該代碼將這樣做。 如果你想要它反向工作(也就是說,我們不能在兒子或父親之前選擇姻親),我們需要添加:

if ((arr.indexOf('Father-in-law') > -1 || arr.indexOf('Mother-in-law') > -1) && (currentVal === 'Son' || currentVal === 'Father')) {
        alert('In-laws are not applicable');
        return false;
    }

另外:您可以將$(this).val()輸出到開頭的變量,這樣您就不會再檢查它了。 所以就像var currentVal = $(this).val() ,然后引用它。

這是一個小提琴: 小提琴

這是另一種選擇。 此代碼的效率低於其他答案,因為它總是會迭代。

jQuery有兩種$.each(array, function(index, value)...這類似於你當前的循環。

var fields = new Array();
$("#dataTable tr select[name^='dRelation']").each(function(i){
    fields.push(this.value);
 });
var rel = $(this).val();
$.each(fields, function(i,val) {
    if((val=='Son' || val=='Father') && (rel == 'Father-in-law' || rel == 'Mother-in-law'))                                 
        alert("yep");
 });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM