Data binding knockout.js-单击绑定参数获取事件发送方的文本

Data binding knockout.js-单击绑定参数获取事件发送方的文本,data-binding,click,knockout.js,Data Binding,Click,Knockout.js,我在我的页面上有这个链接-通过第一个字母查找条目。我想将锚定标记的文本传递到数据绑定属性内的knockout的click事件中。这可能吗 <a href="#" data-bind="click: $parent.getManageableEntries()><%= Convert.ToChar(i + 65)%></a></li> // here's my javascript method in my knockout view model

我在我的页面上有这个链接-通过第一个字母查找条目。我想将锚定标记的文本传递到数据绑定属性内的knockout的click事件中。这可能吗

<a href="#" data-bind="click: $parent.getManageableEntries()><%= Convert.ToChar(i + 65)%></a></li>

// here's my javascript method in my knockout view model
function ManageEntriesViewModel() {
    var self = this;

    this.getManageableEntries = function(firstLetter) {
        // i want to pass in the text of the <a> tag as the 'firstLetter' variable
    }
}

//下面是我的敲除视图模型中的javascript方法
函数ManageEntriesViewModel(){
var self=这个;
this.getManagableEntries=函数(第一个字母){
//我希望将标记的文本作为“firstLetter”变量传入
}
}

您可能应该在视图模型中将锚文本作为可观察对象。然后您只需要访问该可观察对象(而不是直接访问锚元素的文本)。这给了您最大的灵活性

我举了两个例子,因为我不确定如何构造视图模型对象

两者都很好: ,

如果您真的想在数据绑定属性中提取第一个字母,您可以在那里放置一个匿名函数,或者使用参数绑定函数,就像我在中所做的那样


我希望这些方法中有一种适合您的需要。

您可能应该在视图模型中将锚文本作为可观察对象。然后您只需要访问该可观察对象(而不是直接访问锚元素的文本)。这给了您最大的灵活性

我举了两个例子,因为我不确定如何构造视图模型对象

两者都很好: ,

如果您真的想在数据绑定属性中提取第一个字母,您可以在那里放置一个匿名函数,或者使用参数绑定函数,就像我在中所做的那样


我希望这些方法中有一种适合您的需要。

我相信您现在已经找到了,Levitt,但以下是您想要的

请参见此处的“注意2:访问事件对象或传递更多参数”:


只需通过单击绑定函数传递add'l参数。无论渲染方式如何,请确保将第一个参数作为$data包含

我相信你现在已经找到了,莱维特,但这是你要找的

请参见此处的“注意2:访问事件对象或传递更多参数”:


只需通过单击绑定函数传递add'l参数。无论渲染方式如何,请确保将第一个参数作为$data包含

这就是我的工作。在您不希望显式“数据绑定”到viewmodel中某个可观察对象的HTML标记中,将
单击
更改
事件指定给HTML标记。然后将实际函数包装在一个伪函数中,并传入两个参数
data
event
您必须同时拥有这两个,否则它将失败。在我的例子中,我使用了一个变更事件。见下文:

HTML:

function SomeFunction(data, event)
{
    var inputValue = event.currentTarget.value;
    alert(inputValue);
}

然后在JavaScript函数中,您可以访问
的文本,如下所示:

JavaScript:

function SomeFunction(data, event)
{
    var inputValue = event.currentTarget.value;
    alert(inputValue);
}

因此,每次我在
字段中写入文本时,都会调用
SomeFunction()
,并提醒我刚刚写入的文本。

这对我来说很有效。在您不希望显式“数据绑定”到viewmodel中某个可观察对象的HTML标记中,将
单击
更改
事件指定给HTML标记。然后将实际函数包装在一个伪函数中,并传入两个参数
data
event
您必须同时拥有这两个,否则它将失败。在我的例子中,我使用了一个变更事件。见下文:

HTML:

function SomeFunction(data, event)
{
    var inputValue = event.currentTarget.value;
    alert(inputValue);
}

然后在JavaScript函数中,您可以访问
的文本,如下所示:

JavaScript:

function SomeFunction(data, event)
{
    var inputValue = event.currentTarget.value;
    alert(inputValue);
}

因此,每次我在
字段中写入文本时,都会调用
SomeFunction()
,并会提醒我刚刚写入的文本。

这不是我想要的,因为我不希望文本中的值成为视图模型中的某个内容。理想情况下,我希望直接从锚元素中读取文本的值。如果您的视图中有数据要在代码中访问/处理,但不希望这些数据出现在viewmodel中,那么我认为您需要的不是KO功能。。您可以通过单击绑定来实现这一点。(例如,使用jquery:)这并不是我想要的,因为我不希望文本中的值成为视图模型中的某个内容。理想情况下,我希望直接从锚元素中读取文本的值。如果您的视图中有数据要在代码中访问/处理,但不希望这些数据出现在viewmodel中,那么我认为您需要的不是KO功能。。您可以通过单击绑定来实现这一点。(例如,使用jquery:)