在html中,我有一个显示文本的按钮和一个隐藏它的按钮。每个按钮都有' onclick'指向js中特定函数的属性。我想改变' onclick'单击按钮时的值,也可以更改按钮内的文本(显示/隐藏)。 我无法使用' triggleClass'因为我需要使用' onclick'属性(它的值因为我使用django而改变了) 目前,我有两个按钮用于此操作,我只想将它们统一到一个按钮。 代码:
<btn id="show_btn_{{forloop.counter}}" onclick="Show({{forloop.counter}})" class="btn show_btn">Show</btn>
<btn id="hide_btn_{{forloop.counter}}" onclick="Hide({{forloop.counter}})" class="btn hide_btn">Hide</btn>
<script>
function Show(pos){
$('#show_text_'+pos).css('display','block');
$('#my_text_show_btn_'+pos).prop("disabled", true);
}
function Hide(pos){
$('#show_text_'+pos).css('display','none');
$('#my_text_show_btn_'+pos).prop("disabled", false);
}
</script>
有人有解决方案吗?
谢谢!
答案 0 :(得分:1)
试试这段简短的代码:
function ShowHide(id) {
if ($(id).html() == "Show") {
$(id).html("Hide");
} else {
$(id).html("Show");
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<btn onclick="ShowHide(this);" class="btn show_btn">Show</btn>
答案 1 :(得分:0)
<btn id="show_btn_{{forloop.counter}}" onclick="ShowHide({{forloop.counter}})" class="btn show_btn">Show</btn>
<script>
function ShowHide(pos){
if ($('#show_text_'+pos).css('display') !== 'none') { //lets hide
$('#show_text_'+pos).css('display','none');
$('#show_btn_'+pos).html("Show");
} else {
$('#show_text_'+pos).css('display','block');
$('#show_btn_'+pos).html("Hide");
}
}
</script>
答案 2 :(得分:0)
<script>
$(document).ready(function(){
$('.show_btn').click(function(){
if($(this).text()=='Show'){
$(this).text('Hide');
}
else if($(this).text()=='Hide'){
$(this).text('Show');
}
});
});
</script>
答案 3 :(得分:0)
<button class="btn show_btn" data-attr='Hide'>Show</button>
<script>
$(document).ready(function(){
$('.show_btn').click(function(){
var attr =$(this).attr('data-attr');
var text =$(this).text();
$(this).text( attr );
$(this).attr('data-attr', text );
});
});
</script>