gpt4 book ai didi

javascript - 如何使用单个 $ ('#id' ).on ('change' , function) 执行两个结果;

转载 作者:行者123 更新时间:2023-12-01 02:44:34 25 4
gpt4 key购买 nike

我有几组 div:

<body>
<div id="div1" style="display: block">
<p> paragraph here </p>``
<img>
<table></table>
</div>

<div id="div2" style="display: none">
<p> paragraph here </p>
<img>
<table></table>
</div>

我用 div 包围了每个内容。

现在我有两个单选按钮:

<label for="button1"> Button1 </label>
<input id="button1" name="button" type="radio" value="block">
<label for="button2"> Button2</label>
<input id="button2" name="button" type="radio" value="block">

现在我想做的是隐藏当前的 div 并使用 .css() 显示第二个 div 来代替第一个 div。我现在的方法是:

$('#button1').on('change', function1);  
function function1() {
let change1 = $('#button1').val();
$('#div1').css('display', change1);

但是在这里,当我尝试第二个按钮时:

$('#button2').on('change',function2);   
function function2() {
let change2 = $('#button2').val();
$('#div2').css('display', change2);
$('#div1').css('display', 'none');

但它不起作用,它只能执行其中之一,但不能同时执行两者。有人知道问题所在吗?谢谢。

最佳答案

如果您希望单选按钮更改可见的 div,可以尝试使用下面的代码。

$('[id^=button]').on('change', function() {
$('[id^=div]').css('display', 'none');
var id = $(this).attr("id").replace("button","");
$("#div" + id).css('display', 'block');
});

$('[id^=button]').on('change', function() {
$('[id^=div]').css('display', 'none');
var id = $(this).attr("id").replace("button","");
$("#div" + id).css('display', 'block');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="div1" style=" display: block ">
<p> paragraph here 1</p>
<img>
<table></table>
</div>

<div id="div2" style="display: none ">
<p> paragraph here 2</p>
<img>
<table></table>
</div>

<label for="button1"> Button1 </label>
<input id="button1" name="button" type="radio" value="block ">
<label for="button2"> Button2</label>
<input id="button2" name="button" type="radio" value="block ">

如果您想让它更智能一点,请尝试此代码。我已将单选按钮值更改为 div1div2

$('[id^=button]').on('change', function() {
$('[id^=div]').css('display', 'none');
$("#" + $(this).val()).css('display', 'block');
});

$('[id^=button]').on('change', function() {
$('[id^=div]').css('display', 'none');
$("#" + $(this).val()).css('display', 'block');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="div1" style=" display: block ">
<p> paragraph here 1</p>
<img>
<table></table>
</div>

<div id="div2" style="display: none ">
<p> paragraph here 2</p>
<img>
<table></table>
</div>

<label for="button1"> Button1 </label>
<input id="button1" name="button" type="radio" value="div1">
<label for="button2"> Button2</label>
<input id="button2" name="button" type="radio" value="div2">

关于javascript - 如何使用单个 $ ('#id' ).on ('change' , function) 执行两个结果;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47337304/

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