2016-12-07 53 views
0

對於自定義頁面類型,我有一個多選表單提交,如圖1和2所示。我可以設置它(使用jQuery),以便當我點擊屬於另一個字段的其他複選框時,複選框Label和該字段的值會相應地改變,如圖3所示 - 'Author1','Author2','Author3'被替換爲其他內容。Kentico Admin - 動態更改並保存字段名稱,值和標籤

問題是當我點擊保存按鈕時,我所有的新標籤/值都沒有保存,但複選框的值和標籤返回到它的原始值。

是否有辦法讓它使得這些複選框可以接受新值並且可以保存新值。謝謝!

Form field Form field displayed on admin Form field label and value change but can't be saved

回答

1

哪裏作者值從何而來?數據庫?您應該能夠使用SQL查詢作爲數據源進行多項選擇控制。只要您在「表單」選項卡上保存頁面,這將允許您將實際值存儲到數據庫中。

所以這個想法是加載實際值,用'AuthorN'代替它們,並在選中時變回原始值。

+0

哦,我不想引用[另一個問題](http://stackoverflow.com/questions/40895771/kentico-admin-re-arrange-order-of-checkboxes)我在論壇中,但兩者都問題是相關的。基本上,我真正的作者列表來自SQL查詢,但列出的作者順序並不是我想要的每篇文章的順序。這就是爲什麼我想添加5個佔位符複選框的字段,然後動態更改這些佔位符複選框的值,以便按照我想要的順序輸入名稱。 – Michelle

+0

你不能用SQL命令他們嗎? –

+0

我不這麼認爲,因爲它非常隨意 - 它基於貢獻的數量:貢獻最多的那個人將首先被列出。對我來說(作爲開發人員)沒什麼大不了的,但對其他人,特別是作者本身來說,這是一件敏感的事情和大事。 – Michelle

0

我已經設置了一個可能幫助你的例子。我創建了一個形式三個方面:

FirstAuthor

  • 類型:整數
  • 窗體控件:單選按鈕
  • 數據來源:SQL查詢(select userid,username from cms_user
  • 具有依賴田地:真

SecondAuthor

  • 類型:整數
  • 表單控件:單選按鈕
  • 數據來源:SQL查詢(select userid,username from cms_user
  • 具有依賴字段:真

OrderedAuthors

  • 類型:文本(1000)
  • 窗體控件:標籤
  • 默認值:{% (if(firstauthor>0) { GlobalObjects.Users.Where("userid="+firstauthor)[0].UserName } else {""}) + ", " + (if(secondauthor>0) {GlobalObjects.Users.Where("userid="+secondauthor)[0].UserName} else {""} #%}
  • 依賴於另一個領域:真

我猜你在數據庫中有作者的列表的地方所以你可以用你的表格替換CMS_User表格。然後,你需要做的就是調整第三個字段中的宏,給你想要的結果。