我有下面的代码,我想得到服务器端的动态创建按钮的文本,然而点击第二次按钮,按钮被禁用,我不想拥有其文本属性。
这是我用循环
创建动态按钮的代码for (int i = 0; i < numberofplants; i++)
{
builderchart.Append("<th class=style8>");
builderchart.Append("<input type='button' id='btn" + i.ToString() + "' value='" + dtplants.Rows[i][0] + "' style='width:55px;' class='inputbutton'>");
builderchart.Append("</th>");
}
.is-highlighted {
background-color:#6FA478;
$(function () {
$('input[type=button]').on('click', function (e) {
e.preventDefault();
$(this).toggleClass('is-highlighted');
});
});
答案 0 :(得分:0)
如果您只希望第一次单击时按钮处于活动状态,请使用jQuery方法one
。
$(function () {
$('input[type=button]').one('click', function (e) {
e.preventDefault();
$(this).toggleClass('is-highlighted');
});
});
//编辑
如果您要在第二次点击时删除“文字”,或添加新文字:
$(function () {
var count = 1;
$('input[type=button]').on('click', function (e) {
e.preventDefault();
count +=1;
if( count % 2 === 0 ){
$( this ).prop( 'value', 'New Text' )
.css( 'background-color', 'green');
} else {
// Do Something else
}
});
});
我不确定您想要实现的目标,但使用上述内容,您可以跟踪“点击次数”,然后根据计数应用一些操作。
//编辑02 - 粗糙,但应该工作
$(function () {
var
count = 1,
text;
$( 'input[type=button]' ).on('click', function (e) {
e.preventDefault();
count+=1;
if( count % 2 === 0 ){
text = $( this ).val();
$( this ).prop( 'value', 'New Text' )
.css( 'background-color', 'green' );
$.post( 'some.php', { value: text }, function( data ){
// Do Something
}
} else {
text = $( this ).val();
$( this ).prop( 'value', 'default' )
.css( 'background-color', '' );
$.post( 'some.php', { value: text }, function( data ){
// Do Something else
}
}
});
});