2015-11-15 2 views
0

. Я пытаюсь проверить, выбрано ли все выпадающие списки одного и того же класса, так как выбранный val не должен быть Select Subject для указанного класса DD_Sub в каждом условии проблема говорит, что если все выпадающее меню выбрал значение Select Subject, затем он предупреждает о выборе опции, но если какое-либо из значений DD изменяется, хотя оставшееся все равно оно содержит значение Select Subject, тогда также говорится, что все выбрано, что не должно произойти.. Выбраны все выбранные классы.

Fiddle:http://jsfiddle.net/shaikasifpasha3/vjtpd4vx/1/#&togetherjs=fIsDmsKDm6

HTML:

<select class="DD_Sub" > 
    <option value="Select Subject"> Select Subject </option> 
    <option value="Holiday"> Holiday </option> 
    <option value="Lunch"> Lunch </option> 
    <option value="ECO-20">ECO-20</option> 
</select> 
<br/> 
<select class="DD_Sub" > 
    <option value="Select Subject"> Select Subject </option> 
    <option value="Holiday"> Holiday </option> 
    <option value="Lunch"> Lunch </option> 
    <option value="ECO-20">ECO-20</option> 
</select> 
<br/> 
<select class="DD_Sub" > 
    <option value="Select Subject"> Select Subject </option> 
    <option value="Holiday"> Holiday </option> 
    <option value="Lunch"> Lunch </option> 
    <option value="ECO-20">ECO-20</option> 
</select> 
<input type="submit" value="Click Me" onclick="return CheckDD();" id="BodyHolder_Add_New_period_button"> 

JS:

function CheckDD() { 
    // The .each() method is unnecessary here: 
    $(".DD_Sub").each(function() { 
     if ($(this).val() == "Select Subject") { 
      alert("Select Subject"); 
      return false; 
     } else { 
      alert("All Selected"); 
      return false; 
     } 

    }); 
} 
+0

"Выберите тему" должны быть предупреждены, если все выбранные варианты имеют "Выбрать тему" ? – guest271314

+0

No Select Subject Должен быть предупрежден, если выбран какой-либо из DD-опции 'Select Subject' – Shaik

ответ

2
function CheckDD() { 
    if ($(".DD_Sub option:selected[value='Select Subject']").length > 0) { 
    alert('Select Subject'); 
    } 
    else { 
    alert('All Selected'); 
    } 
    return false; 
} 
+0

Услышьте вас goo http://jsfiddle.net/shaikasifpasha3/vjtpd4vx/1/#&togetherjs=fIsDmsKDm6 – Shaik

+0

Я бы предложил' $ (" .DD_Sub: выбрано значение [value = 'Select Subject'] "). Length> 0'. –

+0

@rainerh Можете ли вы мне помочь? У меня есть проблема. Я думаю, что вы можете разобраться с ней. Http://stackoverflow.com/questions/33719544/delete-only-check-box-checked-columns-from-html-table – Shaik

2

Попробуйте использовать .get(), Array.prototype.every()

function CheckDD() { 
 

 
    // The .each() method is unnecessary here: 
 
    $(".DD_Sub").get().every(function(el) { 
 

 
    return $("option:selected", el).val() == "Select Subject" 
 

 
    }) ? alert("All Selected") : alert("Select Subject"); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<select class="DD_Sub"> 
 
    <option value="Select Subject">Select Subject</option> 
 
    <option value="Holiday">Holiday</option> 
 
    <option value="Lunch">Lunch</option> 
 
    <option value="ECO-20">ECO-20</option> 
 

 

 

 
</select> 
 
<br/> 
 
<select class="DD_Sub"> 
 
    <option value="Select Subject">Select Subject</option> 
 
    <option value="Holiday">Holiday</option> 
 
    <option value="Lunch">Lunch</option> 
 
    <option value="ECO-20">ECO-20</option> 
 

 

 

 
</select> 
 
<br/> 
 
<select class="DD_Sub"> 
 
    <option value="Select Subject">Select Subject</option> 
 
    <option value="Holiday">Holiday</option> 
 
    <option value="Lunch">Lunch</option> 
 
    <option value="ECO-20">ECO-20</option> 
 

 

 

 
</select> 
 

 

 
<input type="submit" value="Click Me" onclick="return CheckDD();" id="BodyHolder_Add_New_period_button">

+0

Нет Мне нужны реки этого, что вы сделали, если у всех есть объект выбора значения, он говорит, что все выбрано, что он не должен указывать, что все дд имеет другое значение, тогда выберите тему – Shaik

+0

@Shaik См. обновленное сообщение, подставляемое '.every()' для '.some()' – guest271314

2

Попробуйте этот подход:

function CheckDD() { 
    // state of validation - true by default 
    var allValid = true; 
    $(".DD_Sub").each(function() { 
     // check if value was selected 
     if ($(this).val() == "Select Subject") { 
      alert("Select Subject"); 
      // if value is not selected set state to false 
      allValid = false; 
      return false; 
     } 
    }); 
    // display success only if state is true 
    if (allValid === true) { 
     alert("All Selected"); 
    } 
    //return the result 
    return allValid; 
} 

Вот обновленный jsFiddle

+0

Спасибо, что ваш код работает точно так, как я хотел снова, спасибо за поддержку ур – Shaik

1
if($('.DD_Sub option[value="Select Subject"]').is(':selected')){ 
    alert('Select Subject'); 
} else { 
    alert('All Selected'); 
} 
Смежные вопросы