社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Jquery

在第一个完成后运行第二个jQuery click函数

user2766888 • 6 年前 • 296 次点击  

我在一个具有特定数据属性的页面上有许多按钮。我使用jQuery动态检索与用户单击的按钮相关联的数据。

我还动态地将这个属性值添加到最终的“继续付款”按钮。

jQuery(document).ready(function($) {

    $('#mentor-choose .button').click(function () {

    	var mentor = $(this).data('mentor');
    	console.log(mentor);

    	$('#mentor-final .summary').attr('data-mentor', mentor);

    });

    $('#mentor-package .button').click(function () {

    	var package = $(this).data('package');
    	console.log(package);

    	$('#mentor-final .summary').attr('data-package', package);

    });
    
    
    
    $('.button').click(function () {

		if ( $('#mentor-final .summary').data('mentor') === 'john-smith' && $('#mentor-final .summary').data('package') === 'express' ) {

		    console.log('John Smith - express');

		} else if ( $('#mentor-final .summary').data('mentor') === 'john-smith' && $('#mentor-final .summary').data('package') === 'growth' ) {

		    console.log('John Smith - growth');

		} else if ( $('#mentor-final .summary').data('mentor') === 'john-smith' && $('#mentor-final .summary').data('package') === 'mentor' ) {

			console.log('John Smith - mentor');

		} else if ( $('#mentor-final .summary').data('mentor') === 'john-smith' && $('#mentor-final .summary').data('package') === 'advanced' ) {

		    console.log('John Smith - advanced');

		}

	});

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="mentor-choose">

	<a href="#" class="button green" data-mentor="john-smith">Select John Smith</a>
	
	<a href="#" class="button green" data-mentor="jane-doe">Select Jane Doe</a>

</div>

<div id="mentor-package">

	<a href="#" class="button green" data-package="express">Select Express</a>

	<a href="#" class="button green" data-package="growth">Select Growth</a>

	<a href="#" class="button green" data-package="mentor">Select Mentor</a>

	<a href="#" class="button green" data-package="advanced">Select Advanced</a>


</div>

<div id="mentor-final">
	
	<a href="#" class="summary button green">Proceed to Payment</a>

</div>

然后,我使用一个单独的click函数,根据检查自定义数据属性值的if/else if语句,动态调整“继续付款”ref属性(当前设置为console.log以进行调试)。

这是页面加载后的第一次循环。但是,如果用户单击另一个选项(即在第一次单击Growth之后单击Mentor),则最终的单击功能不会更新。

我认为这是因为第二个click函数需要等待第一个。我尝试了许多不同的选项,包括设置超时或更改为.on()单击事件。

任何帮助都将不胜感激!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/55042
文章 [ 2 ]  |  最新文章 6 年前