0

garlicjs-rails 有一个名为“onRetrieve”的回调。我认为这就是我突出显示哪些字段来自 localStorage 的解决方案。我现在在这里有一个警报,只是为了调试,但会更改它以向那些从 localStorage 获取数据的字段添加一个类(即编辑现有数据,其中一些字段在数据库中,而一些字段没有或已更改) .

这个脚本来自garlicjs.js 网站

   $( 'input.no_good' ).garlic( {
      onRetrieve: function ( elem, retrievedValue ) {
      console.log( 'The retrieved value for ' + elem.name() + ' is : ' + retrievedValue );
     }
    } );

这就是我试图使用的

  $("input#user_certificatenumber").garlic onRetrieve: (elem, retrievedValue) ->
    alert "The retrieved value for " + elem.name() + " is : " + retrievedValue

对我来说什么都没有发生......我期待的是,如果从 localStorage 中检索到 id 为 user_certificatenumber 的元素,则“.garlic onRetrieve”将触发并运行该函数。不是这样。

我希望我能从问这个问题中得到两件事:更好地学习 javascript 并弄清楚如何查看表单中的所有字段,而不仅仅是一个字段,然后使用 js 添加类并为从检索到的输入着色本地存储。

4

1 回答 1

1

data-persist="garlic"在表格上加了吗?

如果是这样,您的onRetrieve侦听器不会应用于您的表单元素,因为表单已经被数据持久化绑定。

只需将您的行添加到整个表单(没有数据持久化)以在其 elems 上绑定 Garlic 并在每个字段上注册 onRetrieve 侦听器

$("#yourformid").garlic onRetrieve: (elem, retrievedValue) ->
    alert "The retrieved value for " + elem.name() + " is : " + retrievedValue

最好的

于 2013-01-19T11:28:02.200 回答