2013-12-12 61 views
-1

當getjson發生更新時,文本框文本發生更改! 沒有allert是comminh了..有人可以幫助我這個警報? 文本框:更改值時發出警報設置間隔

<input id="your_textbox" /> 

    setInterval(function() { 
     $.getJSOg('/api/my_apiurl', function (Payload) { 
      $(Payload).each(function (i, item) { 
       $("#your_textbox").val(item.CR_DateTime); 
      }); 
     }); 
    }, 3000); 

和腳本阿勒特「haai:

setInterval(function() { 
    jQuery('#your_textbox').on('input', function() { 
     alert('haai'); 
    }); 
}, 3000); 

更改爲(不工作):

setInterval(function() { 
var check; 
$(function(checkForMessages) {  
      $.getJSON('/api/myapiurl', function (data) { 
if(data == 1) { 
      //There are new messages 
      clearInterval(check); 
      alert("You have mail!"); 
     } 
    } 
); 

check = setInterval(checkForMessages, 3000); 

    }); 
}, 3000); 
+0

是的,在apicall工作和值your_textbox改變(日期) – user2385302

+0

的問題是:我期待FO的解決方案「有一個新的消息,」希望這個西港島線幫助我的問題.. – user2385302

回答

4

您不斷增加的甚至到了文本過來,一遍又一遍!這真的很糟糕。

它應該只是

jQuery('#your_textbox').on('input', function() { 
    alert('haai'); 
}); 

現在,當您使用代碼更改文本框時,JavaScript不會觸發事件,因此您需要執行觸發。

var previousValue = $("#your_textbox").val(), 
    newValue = item.CR_DateTime; 
if (previousValue !== newValue) { 
    $("#your_textbox").val(newValue).trigger("input"); 
} 
+0

他阿勒特每3秒。我希望所有的allert作爲值改變.. – user2385302

+0

那麼你可以添加一個檢查,看看在觸發前值是否改變。編輯問題中的代碼以顯示您想要執行的操作。 – epascarello

+0

是的!這對我感謝感謝 – user2385302