2013-12-13 81 views
0

所以我有一個表格,其中包含一個部分,用戶必須選擇是否要參加每天舉行3次的會議。問題是,對於任何給定的會議,上午,中午和下午只有5個申請者可以報名。所以它是一個競爭進入。這裏是表單部分。建議 - 登記表3單選按鈕

enter image description here

我難倒就如何確定是否註冊關閉任何給定的會話。也就是說,如果表格已填充,並且已有4人已註冊會話X。與此同時,其他一些用戶註冊了X,該會話現在已關閉。第一個用戶可能會認爲他仍然可以申請,因爲他的表格是這樣說的。要禁用會話,必須禁用單選按鈕,如下圖中的「8月3日星期日晚餐」。

我想使用jquery ajax以10秒的間隔更新。但這是另一個問題。該響應將消除迄今爲止用戶做出的任何選擇。它類似於亞馬遜如何管理「剩餘5件東西」。我以前從來不需要做這樣的事情。我使用codeigniter php框架,jquery 1.8.2。

任何想法?

+0

如果只更新需要禁用的單選按鈕,它應該只消滅如果用戶曾試圖選擇拍攝其間一個。另外,在附註中,您可能需要在禁用時添加隱藏輸入,以便它仍然可以提交。 – Tomanow

回答

0

除非這個地方超人氣,否則你可能會試圖說明永遠不會發生的事情(這是可以的)。僅顯示錯誤(「<日期>不再可用」)就足夠了,如果發生衝突,請讓他們再試一次。但是,投票也應該有效;只需禁用相應的收音機不重置整個表單。僞代碼:

<input type="radio" class="reservation" name="1-1-2014-morning"> 
<input type="radio" class="reservation" name="1-1-2014-afternoon"> 
<input type="radio" class="reservation" name="1-1-2014-evening"> 

-

var reservations = $('.reservation'); 
$.ajax({ 
    type:'get', 
    url: 'checkdates', 
    success: function(response){ 
     if(response){ 
      $(reservations).each(function(){ 
       if($.inArray(this.name, response.dates)){ 
        $(this).attr('disabled', true); 
       } 
      }); 
     } 
    } 
});