我的JQGrid的ajax函数返回这段xml:
<?xml version='1.0' encoding='utf-8' ?>
<rows>
<row id='1'>
<cell>Darren Sadr</cell>
<cell>12345678</cell>
<cell>01/12/1995</cell>
<cell>
<select>
<option value='1' selected>Cypress Falls</option>
<option value='2'>Cypress Lakes</option>
<option value='3'>Cypress Ridge</option>
<option value='4'>Cypress Fair</option>
<option value='0'>None</option>
</select>
</cell>
<cell>8325731944</cell>
<cell>darrensadr@gmail.com</cell>
<cell>8325731944</cell>
<cell>darrensadr@gmail.com</cell>
<cell>12/09/2013</cell>
<cell>12/09/2014</cell>
<cell>
<select>
<option selected>Unverified</option>
<option>OK</option>
<option>NoShow</option>
<option>Archived</option>
</select>
</cell>
<cell>false</cell>
<cell>0</cell>
<cell>0</cell>
</row>
<row id='2'>
<cell>Darren Vortex</cell>
<cell>87654321</cell>
<cell>12/01/1995</cell>
<cell>
<select>
<option value='1' selected>Cypress Falls</option>
<option value='2'>Cypress Lakes</option>
<option value='3'>Cypress Ridge</option>
<option value='4'>Cypress Fair</option>
<option value='0'>None</option>
</select>
</cell>
<cell>8326380419</cell>
<cell>darrenvortex@gmail.com</cell>
<cell>8326380419</cell>
<cell>darrenvortex@gmail.com</cell>
<cell>12/09/2013</cell>
<cell>12/09/2014</cell>
<cell>
<select>
<option selected>Unverified</option>
<option>OK</option>
<option>NoShow</option>
<option>Archived</option>
</select>
</cell>
<cell>false</cell>
<cell>0</cell>
<cell>0</cell>
</row>
</rows>
但是,网格不显示任何内容。
如果我删除了包含'select'元素的单元格,则网格会正确显示其他所有内容
这是为什么?我怎样才能让它显示选择元素?
答案 0 :(得分:1)
我不得不做最偷偷摸摸的事情:
用一些其他字符集(例如HTML代码)替换网格单元格内的所有“<
”和“>
”字符,以防止标记被jqGrid剥离。
然后使用自定义格式化函数返回值,并将html代码替换为实际字符
活泉?
答案 1 :(得分:0)
你有语法上意想不到的字符'&gt;'在
<option value='1' selected>Cypress Falls</option>.
'selected'属性。例如:
<option value='1' selected='true'>Cypress Falls</option>.
答案 2 :(得分:0)
我不想讨论为什么要将HTML片段作为XML数据的一部分放置。我想回答如何修复数据,以便可以在网格中显示。
我个人会建议你使用
<option selected='selected'>Unverified</option>
而不是
<option selected>Unverified</option>
然而,这不是XML代码中的真正错误。如果数据包含HTML片段,您真正需要对<cell>
内容使用CDATA:
<?xml version='1.0' encoding='utf-8' ?>
<rows>
<row id='1'>
<cell>Darren Sadr</cell>
<cell>12345678</cell>
<cell>01/12/1995</cell>
<cell>
<![CDATA[<select>
<option value='1' selected='selected'>Cypress Falls</option>
<option value='2'>Cypress Lakes</option>
<option value='3'>Cypress Ridge</option>
<option value='4'>Cypress Fair</option>
<option value='0'>None</option>
</select>]]>
</cell>
<cell>8325731944</cell>
<cell>darrensadr@gmail.com</cell>
<cell>8325731944</cell>
<cell>darrensadr@gmail.com</cell>
<cell>12/09/2013</cell>
<cell>12/09/2014</cell>
<cell>
<![CDATA[<select>
<option selected='selected'>Unverified</option>
<option>OK</option>
<option>NoShow</option>
<option>Archived</option>
</select>]]>
</cell>
<cell>false</cell>
<cell>0</cell>
<cell>0</cell>
</row>
<row id='2'>
<cell>Darren Vortex</cell>
<cell>87654321</cell>
<cell>12/01/1995</cell>
<cell>
<![CDATA[<select>
<option value='1' selected='selected'>Cypress Falls</option>
<option value='2'>Cypress Lakes</option>
<option value='3'>Cypress Ridge</option>
<option value='4'>Cypress Fair</option>
<option value='0'>None</option>
</select>]]>
</cell>
<cell>8326380419</cell>
<cell>darrenvortex@gmail.com</cell>
<cell>8326380419</cell>
<cell>darrenvortex@gmail.com</cell>
<cell>12/09/2013</cell>
<cell>12/09/2014</cell>
<cell>
<![CDATA[<select>
<option selected='selected'>Unverified</option>
<option>OK</option>
<option>NoShow</option>
<option>Archived</option>
</select>
]]></cell>
<cell>false</cell>
<cell>0</cell>
<cell>0</cell>
</row>
</rows>
经过这样的更改后,jqGrid应该能够显示数据。见the demo。它显示