2012-01-09 101 views
0

我需要做多項檢查的jQuery的條件......JQuery的條件與空白輸入

我期待這樣的事情:

IF checkbox_A被選中,那麼

如果input_A是空的然後alert('input_A is Required')

else else class =「continue」to the div below。

<button id="btn1">Continue</button> 

可能嗎?

回答

2

我通常不會這樣做,因爲你甚至沒有顯示自己寫任何代碼的嘗試,但我心情很好。

if ($("#checkboxA").is(":checked")) { 
    if ($("#inputA").val() == "") { 
     alert("input_A is required"); 
    } 
    else { 
     $("#btn1").addClass("continue"); 
    } 
} 
1
 

$(document).ready(function() { 
    if($("#yourCheckBoxId").is(":checked")) { 
    if($("#yourInputId").val() == "") { 
      alert("empty"); 
    } 
    else { 
     $("button[id='btn1']").addClass("continue"); 
    } 
    } 
}); 
 
1

也許

if (document.getElementById('checkbox_A').checked){ 
    if (document.getElementById('input_A').value == ''){ 
    alert('input_A is Required') 
    } else { 
    $('#btn1').addClass('continue;); 
    } 
} 

但如果你要驗證你能避免各場的人工檢查,並通過添加required類元素自動多元素是必需的。

<input type="text" name="...." class="required" /> 

現在,當你想驗證表單你做

// find the required elements that are empty 
var fail = $('.required').filter(function(){return this.value == ''}); 
// if any exist 
if (fail.length){ 
    // get their names 
    var fieldnames = fail.map(function(){return this.name;}).get().join('\n'); 
    // inform the user 
    alert('The fields \n\n' + fieldnames + '\n\n are required'); 
    // focus on the first empty one so the user can fill it.. 
    fail.first().focus(); 
} 

演示在http://jsfiddle.net/gaby/523wR/

1

是的,這是可能的:

$('#checkBoxA').click(function() { 
var checkBoxA = $('#checkBoxA'); 
var textBoxA = $('#textBoxA'); 

if (checkBoxA.checked()) 
{ 
    if (textBoxA.val() == "") 
    { 
     $('#btn1').removeClass('continue'); 
     alert("No value entered"); 
     textBoxA.focus(); 
    } 
    else { 
     $('#btn1').addClass('continue'); 
    } 
} else { 
    $('#btn1').addClass('continue'); 
} 
});