2015-05-18 46 views
1

PHP jQuery的觸發按鈕我有這樣的場景: 我有隻有很少的HTML elemnts一個簡單的PHP文件:一個div叫開關,另一個叫和幾個按鈕。 這兩個按鈕標記爲關閉。 燈div空了。 切換div也是空的,但是使用jQuery和Ajax更新txt文件的內容,該文件只包含一個單詞:它可以是On或Off。 我想要實現的是這樣的:每當文件更新爲單詞On或Off時,我想要相應地觸發On或Off按鈕,並通過燈div更改背景顏色。可能嗎? UPDATE:DOM的變化

實施例:

(function($){ 
    $(document).ready(function() { 
    $.ajax({ 
    url : "testfile.txt", 
    dataType: "text", 
    success : function (data) { 
     $("#switch").html(data); 

     // this doesn't seems to work... 
     var word = data.toLowerCase(); 
     $('#' + word).trigger('click'); 

     // this works 
     $(document).ajaxStop(function(e){ 
      var response = $("#switch").html(); 
      $("#" + response.toLowerCase()).trigger("click"); 
     }); 

     var $container = $("#switch"); 
     var refreshId = setInterval(function() 
     { 
      $container.load('testfile.txt').html(); 
     }, 2000); 
     } 
    }); 
}); 
})(jQuery); 

<div id="switch"></div> 
<div id="on" class="button">On</div> 
<div id="off" class="button">Off</div> 

<div id="lamp"></div> 
+0

當你說觸發器時,你的意思是點擊,還是某個代碼集被觸發? – AmmarCSE

回答

0

如果你只有一個Ajax請求,你可以這樣做:

$(document).ajaxStop(function(e){ 
    var response = $("#switch").text(); 
    // do what you want with variable response here 
    $("#" + response.toLowerCase()).trigger("click"); 
}); 
+0

我不是一個jQuery大師,但這個工作! – uomopalese

1

因爲響應是唯一的一個字。爲什麼不試試

var word = data.toLowerCase(); 
$('#' + word).trigger('click'); 

在成功回調。

+0

謝謝,這隻適用於如果我刷新頁面(改變文件內容後),它不會更新dinomically – uomopalese

+0

@uomopalese,你把這個代碼在Ajax成功回調?你什麼意思是動態的?首次加載頁面時? – AmmarCSE

+0

@AmmaCSE我更新了代碼,以顯示你是我把它。我不知道爲什麼一個人工作,其他人不工作。 – uomopalese

0

也許這可以幫助你需要的東西:

(function($){ 
    $(document).ready(function() { 
     var $container = $("#switch"); 
     $container.load("testfile.txt", function() { 
      setInterval(function() { 
       $container.load("testfile.txt"); 
      }, 2000); 
     }); 
    }); 
})(jQuery); 

使用clearInterval()需要時停止計時。

+0

我必須把'clearIntervall()'放在哪裏?瀏覽器正在向服務器發送cuntinuous請求。謝謝 – uomopalese

+0

您的setInterval每2秒發出一個請求,並在頁面加載時更新容器。這是如何檢測文件中的更改。您可以在某些用戶操作或滿足特定條件時使用clearInterval。 – adriann