如何处理多个同名的投递箱

本文关键字:投递 何处理 处理 | 更新日期: 2023-09-27 18:28:21

我正在尝试在代码中使用一系列Dropbox,Dropbox的数量将在循环中决定。每个下拉框反映不同的日期,下拉框中的每个选项反映不同的时间。

用户只应选择其中一个时间,以便将其传递出去

因此,我的HTML将如下所示:

<form id="form" name="form" method="post" action="confirmation.cshtml">
   <select name="start_to_end_time" class="start_to_end_time">
      <option value="1">1</option>
      <option value="2">2</option>
   </select>
   <select name="start_to_end_time" class="start_to_end_time">
      <option value="3">3</option>
      <option value="4">4</option>
   </select>
   <button type="submit">Submit</button>
</form>

标签数量可变。我处理和验证此问题的最佳方法是什么?我尝试过使用JavaScript,并在选择一天时禁用所有其他日子,但这导致了错误。有人能帮我一下吗?

如何处理多个同名的投递箱

我选择了不同的路线。我选择将一个类添加到我正在处理的选择列表中,并隐藏其他类。然后我选择捕获表单提交,并在发布时监控表单中的对象数量。如果对象数大于或小于1,那么我选择提供一个警告,告诉他们使用表单;否则,如果长度等于1,则处理表单。我还注释了一个示例ajax请求,展示了如何将数据传输到控制器。我想这就是你想要做的——或者类似的事情?我可能错了,如果我错了,我会被纠正的!

http://jsfiddle.net/y6zLQ/4/

用于长期采购

$(function(){
  $("select").on('click', function(){
    //add a unique class identifier
    $(this).addClass('working');
    $("select:not('.working')").hide(100);
  });  
  $("#form").submit(function(e){
    e.preventDefault(); // stop default form submission
    var visLength = $("select:visible").length; //how many select fields are visible?
    if(visLength > 1 || visLength < 1){//if we have more/less than 1 visible field.
      alert('Please choose a value from the lists provided.');      
    }else if(visLength == 1){//we only have one field, proceed.
      var visValue = $("select:visible").val();
      alert(visValue);
     // $.ajax({
     //     url: 'confirmation.cshtml'      
     //     data: 'selectVal='+visValue,
     //     success: function(data){
     //       //do something with our returned data.
     //       $("#someElement").html(data);
     //       //or don't. Perhaps you want to change the page.
     //       window.location = 'mywebsite.com/newlocation';
     //     }
     // });
    }
  });    
  //build a reset function so they can choose a different date.    
  $("#reset").click(function(e){
    e.preventDefault(); // stop default form submission
    $("select").removeClass('working'); //remove unique class identifier
    $("select").show(100); //show other selec tlists
  });
});