2012-06-23 66 views
1

我有一个下拉菜单,用户根据表单构建的条件从中选择条件。动态构建表单

我现在要做的是确保它们不能两次构建相同,例如,如果用户从下拉列表中选择外观,我不希望他们能够从下拉列表中选择外观,而这种形式是建立的。

这有道理吗?目前这是我的代码,

$('img.toggleadd').live({ 
    click: function() { 
     var rowCount = $("#advanced_search > table > tbody > tr").length; 

     f(rowCount < 3) { 
      $.ajax({ 
       url: site_url + 'ajax/row/empty', 
       success: function(data) { 
        console.log($(this)); 
        $('#advanced_search table').append(data); 
       } 
      }); 
     } 
    } 
}); 

和PHP

public function row($name) { 
    if ($this->input->is_ajax_request()) { 
     return $this->load->view('search/rows/'.$name); 
    } 
} 

$name涉及含有为选择的值对应的形式要素的图的名称。

+1

嗯,你可以使请求同步(在等待的时候阻止网页),或者你可以禁用'select'选择单击并在'success'运行时重新启用它,或者你可以设置阻止逻辑检查来查看是否目前有关该要素的工作要求。 –

回答

0

Jared提到的,该解决方案可能会是一个布尔值,指示请求是否是在进行简单...

拿这个代码例子 -

var request_in_progress = false; 

$("#selector").on('change',function(){ 
    if (!request_in_progress){ 
    request_in_progress = true; 
    $.ajax('/path_to_ajax_module.php',{'data':data},function(response){ 
     // handle the AJAX response 
     request_in_progress = false; // AJAX request complete.  
    },'json'); 
    } 
});