0

很简单的问题,但我在网上找不到任何建议如何做...我希望控制器在运行更新操作之前对屏幕上的简单 html 表运行 jQuery 检查,但我无法理解我是如何做到的做吧,有什么想法吗?

我尝试在 jQuery 中运行检查,然后使用 jquery 帖子将我需要的值传递给更新操作,但这根本不起作用,当我检查参数时,它看起来不像我运行时那样只是定期更新...

问题是我有一个多对多关系集,目前,在添加到我的列表或更新列表中的值时更新得很好,但是当我需要删除一个我遇到困难的那一刻,我想做的是获取 html 表的计数(其中包含我的链接项目列表),然后将其与数据库进行比较,如果现在表中的数量少于数据库中的数量,我将从 sql 运行基本删除以清除现在多余的链接项目...

我唯一无法解决的是如何在控制器运行期间获取此表计数,或调用控制器并传入此表号(我可以调用操作并传递表号和 id 但这似乎失去所有其他参数),我原以为这def formInstance = Form.get(id)会让我得到所有的参数,但似乎根本没有这样做:(

或者,如果我手头有身份证,还有其他方法可以重新填写我的参数吗?

非常感谢任何帮助!:)

更新控制器看起来像这样: -

def update(Long id) {
        def formInstance = Form.get(id)
        int eventCount = formInstance.events.collect().count{id};

        if (!formInstance) {
            flash.message = message(code: 'default.not.found.message', args: [message(code: 'form.label', default: 'Form'), id])
            redirect(action: "list")
            return
        }

        formInstance.properties = params

        if (!formInstance.save(flush: true)) {
            render(view: "edit", model: [formInstance: formInstance])
            return
        }

        int neweventCount = formInstance.events.collect().count{id};
        println(neweventCount)  


        flash.message = message(code: 'default.updated.message', args: [message(code: 'form.label', default: 'Form'), formInstance.id])
        redirect(action: "show", id: formInstance.id)

    }

通过常规保存按钮提供的参数如下所示: - [id:3, formDesc:form 3, events[1].id:2, events[1]:[id:2], _action_update:Update, events[0 ].id:2, events[0]:[id:2], version:, action:index, controller:form]

但是通过像这样的 jQuery [id:14, myInt:1, action:update, controller:form]

回顾一下,我认为问题出在保存上,但我不知道如何纠正它。例如,如果我从一个带有 3 个“事件”的“表单”开始,然后从表中删除其中一个事件,然后将其保存,则参数如下所示:-

[id:1, formDesc:form 112, events[1].id:1, events[1]:[id:1], _action_update:Update, events[0].id:1, events[0]:[id:1], version:, action:index, controller:form]

如您所见,现在只显示了两个事件(0 和 1),并且它们会根据我的需要进行更新,但是第三个事件(不再显示在参数中)并没有像我一样从链接表中删除想。

我能想到的唯一方法是从屏幕上获取表大小,然后将其与现在保存的事件数进行比较,并在保存之前或之后进行手动 SQL 删除,但我不知道该怎么做这...

4

1 回答 1

0

我是个白痴,参数已经给了我一个我现在有多少当前事件的列表,由于某种原因它没有点击我可以从该列表中导出新参数的数量然后我可以运行一个简单的一段 sql 删除所有现在不需要的事件!打额头

于 2013-04-09T08:38:49.843 回答