2014-02-10 85 views
0

在我的jgGrid編輯表單中,我包含一個選擇菜單。這些菜單是使用...jqGrid - 選擇帶特殊字符的菜單

'key:value;key:value;key:value' 

...字符串。我的值包含';'然後打破菜單。我的數據看起來像......

'key:some;data;key:more;data;key:even;more' 

另外,我的值還可能包含':'。

網格的autoencode在這裏沒有幫助。在交給電網之前,我可以preg_replace()。我還有什麼方法可以解決我的問題?

非常感謝。

+0

我該如何逃避';'和';'字符在我的價值觀或以其他方式導致jqGrid不窒息?感謝您的時間和反饋。 – user1801810

回答

0

在PHP構建字符串我做了以下...

... 

// 
// remove ';' and ':' 
// 
$value = preg_replace('/\:|\;/', '', $data['description']); 

// 
// turn other special chars into html entities 
// for easy removal below 
// 
$value = htmlentities($value, ENT_QUOTES); 

// 
// remove html entities 
// 
$value = preg_replace('/&#?(\d*?|\w*?);/', '', $value); 

... 

此時$值是乾淨的,可以附加到「鍵:值,鍵:值;關鍵......」 jqGrid用來構建選擇菜單的字符串。

這種方法工作得很好,很容易,但它犧牲了小部分信息在這裏和那裏,但在我的情況下,這是沒有關係。

感謝您的閱讀,希望這可以幫助您。