Javascript 单击时更新/切换并获取命令按钮的文本
我希望在单击时更新剑道网格行上的命令按钮文本,然后单击。 按钮如下:Javascript 单击时更新/切换并获取命令按钮的文本,javascript,jquery,kendo-grid,Javascript,Jquery,Kendo Grid,我希望在单击时更新剑道网格行上的命令按钮文本,然后单击。 按钮如下: columns.Command(command => command.Custom("View ARs").Click("showAnnReviewByPlan")); 它调用一个javascript方法来加载一个局部视图并显示另一个子网格,如果再次单击按钮,我想隐藏这个子网格。我可以使用以下命令将文本更新为“隐藏”: $(".k-grid-ViewARs").html("<span class=' '>&
columns.Command(command => command.Custom("View ARs").Click("showAnnReviewByPlan"));
它调用一个javascript方法来加载一个局部视图并显示另一个子网格,如果再次单击按钮,我想隐藏这个子网格。我可以使用以下命令将文本更新为“隐藏”:
$(".k-grid-ViewARs").html("<span class=' '></span>Hide ARs");
这允许我获取按钮文本并切换它,这样该部分就可以了,但我只需要为我单击的特定行获取按钮。
有什么想法吗?解决了。有关说明,请参见代码中的注释
<!-- language: lang-js -->
function showAnnReviewByPlan(e)
{
// Set text to 'Hide AR's'
var buttonText = $(e.currentTarget).closest("tr").find(".k-grid-ViewARs").html(); // $(e.currentTarget).closest("tr").... gets specific row & element containing button text, in this case <a role="button" class="k-button k-button-icontext k-grid-ViewARs"
if (buttonText.indexOf("Hide ARs") !== -1)
{
$(e.currentTarget).closest("tr").find(".k-grid-ViewARs").html("<span class=' '></span>View ARs"); // toggles/sets specific row button text
// Hide #AnnReviewsByPlan <div>
$("#AnnReviewsByPlan").hide();
}
else
{
$(e.currentTarget).closest("tr").find(".k-grid-ViewARs").html("<span class=' '></span>Hide ARs"); // toggles/sets specific row button text
// Make sure #AnnReviewsByPlan <div> is visible
$("#AnnReviewsByPlan").show();
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
var id = dataItem.id;
$.ajax({
type: "GET",
url: '/ManageCompanies/AnnualReviewsByPlan',
data: { id: id },
success: function (data, textStatus, jqXHR) {
$('#AnnReviewsByPlan').html(data);
}
});
}
函数showAnnReviewByPlan(e)
{
//将文本设置为“隐藏AR”
var buttonText=$(e.currentTarget).closest(“tr”).find(“.k-grid-ViewARs”).html();//$(e.currentTarget).closest(“tr”)..在本例中获取包含按钮文本的特定行和元素
<!-- language: lang-js -->
function showAnnReviewByPlan(e)
{
// Set text to 'Hide AR's'
var buttonText = $(e.currentTarget).closest("tr").find(".k-grid-ViewARs").html(); // $(e.currentTarget).closest("tr").... gets specific row & element containing button text, in this case <a role="button" class="k-button k-button-icontext k-grid-ViewARs"
if (buttonText.indexOf("Hide ARs") !== -1)
{
$(e.currentTarget).closest("tr").find(".k-grid-ViewARs").html("<span class=' '></span>View ARs"); // toggles/sets specific row button text
// Hide #AnnReviewsByPlan <div>
$("#AnnReviewsByPlan").hide();
}
else
{
$(e.currentTarget).closest("tr").find(".k-grid-ViewARs").html("<span class=' '></span>Hide ARs"); // toggles/sets specific row button text
// Make sure #AnnReviewsByPlan <div> is visible
$("#AnnReviewsByPlan").show();
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
var id = dataItem.id;
$.ajax({
type: "GET",
url: '/ManageCompanies/AnnualReviewsByPlan',
data: { id: id },
success: function (data, textStatus, jqXHR) {
$('#AnnReviewsByPlan').html(data);
}
});
}