gpt4 book ai didi

c# - 使用绑定(bind)到类的单击事件的上下文

转载 作者:行者123 更新时间:2023-11-28 02:21:53 24 4
gpt4 key购买 nike

对于我正在开发的 MVC 应用程序,我有一个可以填充多个 subview 的 View ,如下所示:

部分 View 部分

@model SuperFoo

<!-- snip unimportant details... ->

@foreach(var current in Model.Items)
{
@Html.Partial('_Item', current);
}

<!-- ...SNIP more useless details... -->

<script>
$(document).ready(function () {
$('.add-item').click(function () {
// Make some AJAX call to do something.
});
});
</script>

个别项目部分

@model Foo

<div class='some-styling'>
@Html.HiddenFor(m => m.Name)
@Html.HiddenFor(m => m.PropA)
@Html.HiddenFor(m => m.PropN)

<input type='text' value='' />
<a href='javascript:;' class='no-line add-item'>Add To Cart</a>
</div>

我想弄清楚两件事:

A) 如何确保只有我单击的特定按钮才会触发其事件,以及

B) 我如何使用针对特定项目获得的特定信息?如果您注意到,我的项目级别 View 中有一个可编辑的输入字段。触发点击时,生成的 AJAX 调用需要使用该文本框中的值(这是简单的部分,$('selector').val())

我只使用 jQuery 和 MVC3。问题(可能是一个愚蠢的问题,但我们会看到):我的各个“添加项目”链接如何使用渲染它们的部分的上下文进行操作?

最佳答案

您确实意识到,页面完全呈现后,没有诸如部分 View 之类的隔离,它只是为了管理您的代码,我还没有完全理解您的问题,但我会尝试

回答A

$('.add-item).click(function (e) {
e.preventDefault();// prevent the default behavior of the anchor
this; //is your friend, it will give you the DOM element which is clicked
$(this); // will give you the nicely wrapped jQuery object
});

回答B

How do I use information specific to information obtained for a specific item?

不确定你在这里问什么,但如果你像这样包装你的元素

<div class="item-wrap">
<input type='text' value='10'/>
<a href=#' class='no-line add-item'>Add To Cart</a>
</div>

<div class="item-wrap">
<input type='text' value='20'/>
<a href='#' class='no-line add-item'>Add To Cart</a>
</div>

然后在点击处理程序中

$('.add-item).click(function () {
var $this = $(this);
var $val = $this.closest(':input').val();
//will give you 20 or 30 depending upon which one you click

//or
var $$val = $this.closest('.item-wrap>:input').val();

//you can write a variety of selectors which can vary in perf

});

关于c# - 使用绑定(bind)到类的单击事件的上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15533222/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com