Jquery 在Jqgrid中禁用输入列
有两个文本框和一个选择选项,我想知道如果我选择选择选项“Hora”(第三列),如何禁用“Precio Dia”(第一个文本框)列,如果我在选择中选择“Hora”,如何禁用“Precio Dia”!当我创建或编辑(无内联编辑,我使用navGrid)时,是否有可能做到这一点 是否禁用了任何可以添加到colModel定义的属性(如html)Jquery 在Jqgrid中禁用输入列,jquery,jqgrid,disabled-input,Jquery,Jqgrid,Disabled Input,有两个文本框和一个选择选项,我想知道如果我选择选择选项“Hora”(第三列),如何禁用“Precio Dia”(第一个文本框)列,如果我在选择中选择“Hora”,如何禁用“Precio Dia”!当我创建或编辑(无内联编辑,我使用navGrid)时,是否有可能做到这一点 是否禁用了任何可以添加到colModel定义的属性(如html) 谢谢。我认为您可以在select元素上定义change处理程序。在处理程序内部,您可以根据选择中的当前选定选项禁用或启用第一个输入字段。由于使用表单编辑,第一个输
谢谢。我认为您可以在select元素上定义
change
处理程序。在处理程序内部,您可以根据选择中的当前选定选项禁用或启用第一个输入字段。由于使用表单编辑,第一个输入字段的id将与第一列的名称相同。此外,您还需要在初始化表单期间执行相同的操作。相应的代码如下所示:
$("#list").jqGrid({
url: '/modulos/carga/cargaServiciosTarifa.ashx',
datatype: 'xml',
mtype: 'GET',
colNames: ['Precio Dia', 'Precio Hora','Unidad'],
colModel: [
{ name: 'preciodia', index: 'preciodia', width: 100, align: 'center', editable: true, sortable: false },
{ name: 'preciohora', index: 'preciohora', width: 400, align: 'center', editable: true, sortable: false },
{ name: 'Unidad', index: 'TSI_Unidad', width: 100, align: 'center', editable: true, edittype: 'select',
editoptions: { value: "Dia:Dia;Hora:Hora" }, sortable: true }
],
autoencode: true,
pager: '#pager',
rowNum: 20,
sortname: 'preciohora',
sortorder: 'asc',
sortable: true,
autowidth: false,
width: 733,
height: -1,
shrinkToFit: true,
viewrecords: true,
gridview: true,
caption: 'Listado Servicios asociados a Tarifa',
postData: {tarId: tarId.val()},
editurl: '/modulos/carga/cargaServiciosTarifa.ashx'
});
//Paginador
jQuery("#list").jqGrid('navGrid',
'#pager',
{
alerttext: "Seleccione un precio.",
add: true, addtitle: "Crear precio",
del: true, deltitle: "Eliminar precio",
edit: true, edittitle: "Modificar precio",
search: false, searchtitle: "Búsqueda",
refresh: true,
cloneToTop: true
},
{ width: 360, resize: false, closeAfterEdit: true, recreateForm: true, viewPagerButtons: true },
{ width: 360, resize: false, closeAfterAdd: true, recreateForm: true, viewPagerButtons: true },
{ }, //Delete action
{ closeAfterSearch: true, closeOnEscape: true }
);
嗨,奥列格,我想我快修好了,但firebug告诉我道具不是一个函数。你知道到底发生了什么吗?再次感谢。@bombai:不客气!查看并与您的代码进行比较。您还应该验证在包含xml数据的服务器响应的HTTP头中,
Contain Type
是否为text/xml
。好的,我已经修复了,在jquery版本中,我的项目在1.4.3上,并且prop不存在,我已经使用了$(#input).attr('disabled','disabled')代码>仅适用于jquery1.6或+!再次感谢!
editoptions: {
value: "Dia:Dia;Hora:Hora",
dataInit : function (elem) {
setTimeout(function () {
$("#preciodia").prop("disabled", $(elem).val() === "Hora");
}, 50);
},
dataEvents: [
{
type: 'change',
fn: function (e) {
$("#preciodia").prop("disabled", $(this).val() === "Hora");
}
}
]
},