我认为这是jqGrid中的一个错误(我使用的是4.4.0版本)。在我的colModel中,这工作正常:
stype:'select', searchoptions: {sopt: ['eq','ne'], value:"Red:Red;Green:Green;Blue:Blue"}
但这不会:
stype:'select', searchoptions: {sopt: ['eq','ne'], dataUrl:'rest/selectcolors'};
数据网址返回的位置
<option value='Red'>Red</option><option value='Green'>Green</option><option value='Blue'>Blue</option></select>
颜色在组合框中显示正常,默认值为"红色",但除非用户通过选择"绿色"或"蓝色"(然后可能返回并选择"红色")来更改组合框过滤器,否则筛选器未正确初始化。如果用户尝试在不先更改组合框值的情况下进行筛选,则找不到匹配项。初次使用筛选器对话框和重置筛选器对话框后会出现此问题,因此用户非常困惑。
有谁知道解决此问题/修复程序?
一看,您返回的数据网址没有
<select>
这可能是一个错误
但是,我也有这个问题!但是我没有通过在网上搜索找到任何解决方案。我用技巧暂时解决了这个问题我添加一个值 = -1 的选项和文本"请选择"然后在更改事件中我删除此选项
searchoptions: {sopt: ['eq', 'ne'], dataUrl:'yoururl',
dataEvents:[{ type: 'change',
fn: function(e)
{
$('td.data').find('option[value=-1]').remove();
}
}]},
但问题仍然存在..如果用户不更改组合框并选择"请选择"选项,他将看到错误。
我在我的 PHP URL 中使用以下代码
echo "<select>";
echo "<option value='-1'>please select</option>";
while($row = pg_fetch_assoc($res))
{
echo "<option value='".$row['cid']."' >".$row['cname']."</option>";
}
echo"</select>";
您可以使用这样的样式,并在更改 select 元素后将其删除
style='font-style:斜体;颜色:灰色;宽度:100px' data-native-menu='false'