2

我有一个带有三个下拉菜单的表单。确保至少一个设置为“C”的最简单方法是什么?

$("#Statuses").each 或 $(".Droppie").each 的东西?

<div id="Statuses">
   <table>
      <tr>
         <td>To Do</td>
         <td>Status</td>
      </tr>
      <tr>
         <td>Call</td>
         <td>
            <select id="Call" name="Call" class="Droppie">
               <option value="A">Active</option>
               <option value="B">Bounced</option>
               <option value="C">Closed</option>
            </select>
         </td>
      </tr>
      <tr>
         <td>Meet</td>
         <td>
            <select id="Meet" name="Meet" class="Droppie">
               <option value="A">Active</option>
               <option value="B">Bounced</option>
               <option value="C">Closed</option>
            </select>
         </td>
      </tr>
      <tr>
         <td>Followup</td>
         <td>
            <select id="Followup" name="Followup" class="Droppie">
               <option value="A">Active</option>
               <option value="B">Bounced</option>
               <option value="C">Closed</option>
            </select>
         </td>
      </tr>
   </table>
   <input type="button" name="Save" id="Save" value="Save" />
</div>

<script>
   SaveCheck = function () {
   -- jquery .each ?? --
     { alert("Sorry, at least one to-do must be closed."); }
   $("#Save").click( SaveCheck );
</script>
4

4 回答 4

5

每次单击“保存”按钮时,您应该检查 Droppie 类的每个选定项目。

jsfiddle.net

$('#Save').click(function() {
    if(SaveCheck()) {
        alert('successful');
    }
    else {
        alert("Sorry, at least one to-do must be closed.");
    }
});

function SaveCheck() {
    var flag = false;
    $('.Droppie :selected').each(function() {
        if($(this).val() == "C") {
            flag = true;
            return false;
        }
    });
    return flag;
}
于 2012-11-07T07:57:31.500 回答
3

对于它,这是一个更简单的版本:

$('#Save').click(function() {
    if($('.Droppie option[value="C"]:selected').length > 0) {
        alert('successfull');
    }
    else {
        alert("Sorry, at least one to-do must be closed.");
    }
});
于 2012-11-07T17:17:00.343 回答
1
var flag = false;
$('select.Droppie :selected').map(function() {
  if(this.value == 'C'){
      flag = true;
  }
});

if(flag){
   alert('contain C');
} else {
   alert("Doesn't contain C");
}
于 2012-11-07T07:35:13.763 回答
0

我认为您可以使用此代码

    <div id="Statuses">
   <table>
      <tr>
         <td>To Do</td>
         <td>Status</td>
      </tr>
      <tr>
         <td>Call</td>
         <td>

            <select id="Call" name="Call" id="Call" class="Droppie">
               <option value="A">Active</option>
               <option value="B">Bounced</option>
               <option value="C">Closed</option>
            </select>

         </td>
      </tr>
      <tr>
         <td>Meet</td>
         <td>
            <select id="Meet" name="Meet" id="Meet" class="Droppie" >
               <option value="A">Active</option>
               <option value="B">Bounced</option>
               <option value="C">Closed</option>
            </select >
         </td>
      </tr>
      <tr>
         <td>Followup</td>
         <td>
            <select id="Followup" name="Followup" id="Followup" class="Droppie" >
               <option value="A">Active</option>
               <option value="B">Bounced</option>
               <option value="C">Closed</option>
            </select >
         </td>
      </tr>
   </table>
   <input type="button" name="Save" id="Save" value="Save" onclick="return fnc()"/>
</div>

<script type="text/javascript">
   function fnc()
   {
       call=document.getElementById("Call").value;

       meet=document.getElementById("Meet").value;

       followup=document.getElementById("Followup").value;

       if(call!='C' && meet!='C' && followup!='C' )
       {
           alert("no c is selected");
       return false;
       }
    }
</script>
于 2012-11-07T07:37:40.863 回答