var tabs = $('#manage_freighAndUser_datagrid'); // 绑定tab切换事件 tabs.tabs({ onSelect:function(title,index){ debugger; var previousTab = $("#manage_freighAndUser_datagrid").tabs("getSelected"); var previousDatagrid = previousTab.find(".datagrid-f"); previousDatagrid.datagrid("clearSelections"); } });清除切换之前tab的datagrid的选中
时间: 2024-04-04 19:31:50 浏览: 17
这段代码的作用是绑定了一个tab切换事件,当用户在不同的tab之间切换时,会触发onSelect函数。在函数内部,先使用debugger进行调试,然后获取到前一个被选择的tab,并找到该tab内的datagrid组件,最后使用datagrid的clearSelections方法来清除选中的行。这样做是为了避免用户在不同的tab之间选择了不同的行,导致出现不一致的情况。
相关问题
如上代码已知requestScope.op为payableExpense,此刻id="tabGroup_tab2"应该打开,但是没有跳转到对应的页面,js代码为// 弹出层 $('#tabGroup_tab2').one('click',function(){ ///延迟加载子tabItem 页面 var omsOrderId = $("#OmsOrder_search_omsOrderId_text32").val(); var href = App.ctx + "/acc/accOrder.do?method=toSinglePay&id=" + omsOrderId; $('#tabGroup').tabs("url",1,href).tabs({ load : function (){ if ($.browser.msie && $.browser.version <= 6){ var _width = $('#tabGroup_tab1').parent().parent().width(); $('#AccFreight_table').jqGrid("resetGridWidth",true,_width+20); } $('#AccFreight_table').jqGrid("reloadGrid"); //子页面的“手风琴”需要渲染 $('div[accordion=true]').accordion({collapsible : true}); } }).tabs({ cache: true }); });
根据你提供的代码,首先确保在点击`tabGroup_tab2`时,确实能够执行到对应的点击事件处理程序。然后,你需要在点击事件处理程序中添加跳转到对应页面的逻辑。以下是修改后的代码示例:
```javascript
// 弹出层
$('#tabGroup_tab2').one('click', function () {
///延迟加载子tabItem 页面
var omsOrderId = $("#OmsOrder_search_omsOrderId_text32").val();
var href = App.ctx + "/acc/accOrder.do?method=toSinglePay&id=" + omsOrderId;
// 跳转到对应的页面
window.location.href = href;
});
```
在上面的代码中,我在点击事件处理程序中使用`window.location.href`将页面跳转到对应的链接`href`。请注意,这里假设你的链接是有效的,并且能正确加载对应的页面。如果链接不正确或无法加载页面,请检查链接是否正确,并确保页面可以正确加载。
function replace($file) { window.components=components; $contents = file_get_contents($file); // echo $contents; $r = false; foreach ($components as $component => $value) { // if ($component != 'Tabs')continue; $contents = preg_replace_callback("#<($component)([/> \n].*)#", "replaceCallBack", $contents); $r = true; } $contents = preg_replace_callback("/(.*)onClick={(.*)/i", "replaceCallBackOnclick", $contents); // echo $contents; file_put_contents($file, $contents); echo "{$file} 文件处理完成[$r]\n"; } js写法
在 JS 中,你可以使用 `fetch` 函数获取文件内容,然后使用正则表达式进行替换。以下是一个示例代码:
```javascript
function replace(file) {
const components = window.components;
let contents = "";
let r = false;
fetch(file)
.then(response => response.text())
.then(data => {
contents = data;
for (const component in components) {
if (component !== "Tabs") continue;
contents = contents.replace(
new RegExp(`<(${component})([/> \\n].*)`, "g"),
replaceCallBack
);
r = true;
}
contents = contents.replace(
/(.*)onClick={(.*)/gi,
replaceCallBackOnclick
);
return contents;
})
.then(contents => {
fetch(file, {
method: "PUT",
body: contents
});
console.log(`${file} 文件处理完成[${r}]`);
})
.catch(error => console.error(error));
function replaceCallBack(match, p1, p2) {
// 替换逻辑
}
function replaceCallBackOnclick(match, p1, p2) {
// 替换逻辑
}
}
```
上述代码使用了 `fetch` 函数获取文件内容,然后在回调函数中进行正则表达式的替换操作。最后,使用 `fetch` 函数将替换后的内容写回文件中。需要注意的是,这里假设你的服务器支持 `PUT` 请求,如果不支持需要使用其他方式写回文件。
上述代码仅供参考,具体实现方式可能因项目需求而异。