Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有界网格视图问题;取消绑定中的jquery解析?_Jquery_Data Binding_Gridview - Fatal编程技术网

有界网格视图问题;取消绑定中的jquery解析?

有界网格视图问题;取消绑定中的jquery解析?,jquery,data-binding,gridview,Jquery,Data Binding,Gridview,大家晚上好 我有一个小难题要给你 在我的页面上,我有一个级联ddl(ddl)、一个文本框搜索(tbxProdAC)和一个单选按钮列表(radTopx)。一旦填充并单击提交按钮,就会生成一个填充了数据的gridview。我试图实现的是,用户只能选择ddl、文本框或radiobutton列表作为生成gridview数据的方法 例如,我通过编写一点jquery语法实现了这一点,基本上“清除”了gridview并重置了不同的搜索方法 <code> ddlBuyer.Attribute

大家晚上好

我有一个小难题要给你

在我的页面上,我有一个级联ddl(ddl)、一个文本框搜索(tbxProdAC)和一个单选按钮列表(radTopx)。一旦填充并单击提交按钮,就会生成一个填充了数据的gridview。我试图实现的是,用户只能选择ddl、文本框或radiobutton列表作为生成gridview数据的方法

例如,我通过编写一点jquery语法实现了这一点,基本上“清除”了gridview并重置了不同的搜索方法

<code>
    ddlBuyer.Attributes.Add("onclick", 
    "$('#tbxProdAC').val(''); 
    $('#txtbxHowMany').val(''); 
    $('#GridView1').remove(); 
    $('#radTopx input').attr('checked',false); 
    $('#radProd').attr('checked', false);");
</code>
但是,由于这是在客户端发生的,因此服务器端事件(即ddlBuyer\u SelectedIndexChanged)仍在执行,随后,在我不希望数据绑定的情况下,数据被绑定。i、 e.如果我选择radtopx按钮,单击按钮生成gridview(这发生在回发上)

受保护的void btnsupmit\u单击(对象发送者,事件参数e) {

然后我单击DDLBeer,radTopx信息被清除,但gridview被保留,如下所示:

受保护的无效DDL买方选择的索引已更改(对象发送方,事件参数e) { ORDataClassesDataContext dbII=新的ORDataClassesDataContext(); var queryII=(来自dbII.tblOnlineReportingFINALPRODUCTs中的r) 其中r.UnitUserfield1==ddlBuyer.SelectedValue 选择new{UnitUserfield2=r.UnitUserfield2}).Distinct().OrderBy(r=>r.UnitUserfield2)

是否有一种方法可以通过jquery“解除绑定”网格视图,以便在单击ddlBuyer时,网格视图已经发布了它以前可能持有的任何数据


抱歉,如果这没有意义,那么要简洁准确地描述就有点困难。

听起来很有趣,迪恩先生。我也有过类似的经历,试图解开以前被其他东西绑定的事件,这可能有点像是一个面条抓手。没有看到元素的外观示例(如HTML)很难知道这些事件是如何发生的

如果通过简单地填充每个元素的
onclick
属性来绑定它们,那么这个元素很容易撤消

$('.myElement').attr('onclick', ''); //Empty out the onclick attribute
$('.myElement').bind('click', function(){ ... }); //Bind your own function to the click event
您会发现,使用DOM绑定函数比操纵单个元素的属性要好得多,它更灵活,而且您可以用它做更多的事情

现在,如果您的原始函数是使用DOM方法绑定的,而不是操作
onclick
属性,那么事情会变得有点棘手。您可以尝试的第一件事是:

$('.myElement').unbind();
这将使jQuery取消绑定与给定元素关联的所有事件。其中比较棘手的是确定何时调用
unbind()
。如果您在
ready
上执行此操作,而另一个库在您之后执行其
ready
函数,那么您将一事无成,因为事件尚未绑定

试试看,让我知道你是怎么做的。如果不行,请上传你试图操纵的页面的HTML,我来看看

希望这有帮助

干杯


Iain

Hello Iain。非常感谢您的回复,让我看看这个小场景。实际上,我已经成功地愚弄了我的web应用程序……当用户选择下拉列表、文本框或单选按钮列表时,会进行回发。因此,我只是做了一次“闪避”,并将gridview绑定到了该站点的空数据源s点..因此,当页面刷新时,gridview中不会出现任何内容。这是一个很好的小欺骗!但是,我会玩一下上面的内容,因为它很有趣。再次感谢你。我可能会回到你身边!!!这又让我发疯了…使用我的欺骗导致gridview中的排序/分页失败,所以我要给你一个方法。酷伙计,让我知道你怎么做,如果我能提供任何帮助。如果你陷入困境,脱掉所有东西,除了给你带来麻烦的部分,然后上传一个演示,我会带一个屠夫。干杯,伙计伊恩
$('.myElement').attr('onclick', ''); //Empty out the onclick attribute
$('.myElement').bind('click', function(){ ... }); //Bind your own function to the click event
$('.myElement').unbind();