首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检测隐藏输入字段中的值变化

如何检测隐藏输入字段中的值变化
EN

Stack Overflow用户
提问于 2012-10-04 16:27:36
回答 3查看 20.3K关注 0票数 8

我的MVC应用程序中有一个textarea,在这里我正在实现AspNetSpellCheck,调试器告诉我,textarea更改为display: none; visibility: hidden;,而div是用id="abc"class"="pqr"生成的。

代码语言:javascript
复制
<input type="hidden" value="" name="userid" id="useid" />

另外,我正在为所有文本区域/其他控件实现更改检测.

代码语言:javascript
复制
var somethingChanged = false;
$(document).ready(function() { 
    $('input').change(function() { 
       somethingChanged = true; 
    }); 
});

因为文本区域变得隐藏,我想它不会自动触发change()事件。在上述情况下,触发事件的解决方案是什么?谢谢!

编辑

使用AspNetSpellCheck,下面是我的代码,

代码语言:javascript
复制
  @{  

  ASPNetSpell.Razor.SpellAsYouType mySpell = new ASPNetSpell.Razor.SpellAsYouType();
   mySpell.InstallationPath = ("/Content/ASPNetSpellInclude");
   mySpell.FieldsToSpellCheck = "TextArea1";
}

<textarea id="TextArea1" cols="20" rows="2">bedddly</textarea>
@Html.Raw(mySpell.getHtml())

<script type="text/javascript" language="javascript">

$(document).ready(function () {
    $('input[type="hidden"]').change(function () {
        debugger;
        alert('hi');
        // somethingChanged = true; 
    });
});


 </script>

调试器生成下面的代码、隐藏的文本区域和一个新的DIV结构,

代码语言:javascript
复制
 <div tabIndex="null" class="livespell_textarea" id="TextArea1___livespell_proxy">

 <textarea id="TextArea1" style="display: none; visibility: hidden;" rows="2" cols="20">
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-04 16:37:01

如果您不知道文本区域中的值何时被更改,则可以使用setInterval监视更改

Eg

代码语言:javascript
复制
  var objTextBox = document.getElementById("your_id");
  oldValue = objTextBox.value;

  function track_change() {
    if (objTextBox.value != oldValue) {
      oldValue = objTextBox.value;
      alert('value of input has changed');
    }
  }

  setInterval(function () {
    track_change()
  }, 1000);
票数 5
EN

Stack Overflow用户

发布于 2012-10-04 16:30:47

对于隐藏的值,您需要自己触发更改事件ala:

代码语言:javascript
复制
$('#hiddenInput').val('newval').trigger('change');
票数 15
EN

Stack Overflow用户

发布于 2012-10-04 16:32:08

试试这个..。自己触发事件

代码语言:javascript
复制
$('input[type="hidden"]').change(function() { 
     alert('hi');
      // somethingChanged = true; 
});

$('#useid').val("20").change();

小提琴

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12731647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档