jquery - 如何根据另一个下拉 jquery 获取要更新的下拉值
问题描述
我有一个表格,我们在下拉列表中为受邀者和客人提供活动选项。默认情况下,受邀者和来宾都可以选择自己的活动。但是,客户已要求客人选择与受邀者相同的活动。我正在尝试填充要匹配的客人的下拉值,我相信我已经弄清楚了。但是,如果受邀者更改其中一个选项,我不知道如何更新来宾值。
总共有 6 个不同的活动下拉列表,但为此我将只包括一个:
(function($) {
$('input[name="GActivityFridaycb"]').click(function() {
if ($(this).is(":checked")) {
$("#GActivityFriday1").val($("#ActivityFriday1").val());
}
});
$('input[name="ActivityFriday1"]').on('change', function() {
if ($('input.GActivityFridaycb').prop('checked')) {
$("#GActivityFriday1").val($("#ActivityFriday1").val());
}
});
})(jQuery);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!-- invitee -->
<select id="ActivityFriday1" name="ActivityFriday1">
<option></option>
<option value="first activity">first activity</option>
<option value="second activity">second activity</option>
<option value="third activity">third activity</option>
<option value="fourth activity">fourth activity</option>
</select>
<!-- guest -->
<div>
<input type="checkbox" name="GActivityFridaycb" id="GActivityFridaycb" value="Same as Invitee"> I would like to do same activities as Invitee
</div>
<div class="dropdown" style="padding-left: 16px;">
<select id="GActivityFriday1" name="GActivityFriday1">
<option></option>
<option value="first activity">first activity</option>
<option value="second activity">second activity</option>
<option value="third activity">third activity</option>
<option value="fourth activity">fourth activity</option>
</select>
</div>
jquery 到目前为止。第一个功能是根据受邀者选择填充值。如果受邀者值发生变化,则要更新的第二个功能 - 这是对我不起作用的部分:
解决方案
您的代码中有 2 个错误。
$('input[name="ActivityFriday1"]')
应该是$('Select[name="ActivityFriday1"]')
这是一个选择而不是一个输入。if ($('input.GActivityFridaycb').
应该是if ($('input#GActivityFridaycb').
该类没有元素,GActivityFridaycb
但有一个id
或name
匹配GActivityFridaycb
演示
(function($) {
$('input[name="GActivityFridaycb"]').click(function() {
if ($(this).is(":checked")) {
$("#GActivityFriday1").val($("#ActivityFriday1").val());
}
});
$('select[name="ActivityFriday1"]').on('change', function() {
if ($('input#GActivityFridaycb').prop('checked')) {
$("#GActivityFriday1").val($("#ActivityFriday1").val());
}
});
})(jQuery);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="dropdown" style="padding-left: 16px;">
<select id="ActivityFriday1" name="ActivityFriday1">
<option></option>
<option value="first activity">first activity</option>
<option value="second activity">second activity</option>
<option value="third activity">third activity</option>
<option value="fourth activity">fourth activity</option>
</select>
</div>
<div>
<input type="checkbox" name="GActivityFridaycb" id="GActivityFridaycb" value="Same as Invitee"> I would like to do same activities as Invitee
</div>
<div class="dropdown" style="padding-left: 16px;">
<select id="GActivityFriday1" name="GActivityFriday1">
<option></option>
<option value="first activity">first activity</option>
<option value="second activity">second activity</option>
<option value="third activity">third activity</option>
<option value="fourth activity">fourth activity</option>
</select>
</div>
推荐阅读
- linux - 如何通过排序命令按列大文件唯一?
- c# - 如何在 uwp 中将图标添加到菜单栏
- google-app-engine - Google App Engine:区域设置为美国,但请求似乎路由到日本?
- laravel - Laravel 自定义请求验证总是给出验证错误
- python - 如何更改 DataFrame 中的格式
- xml - 如何在 XML 中插入图像?
- data-structures - 链表可以实现哪些类型的数据结构?
- rx-java2 - Observable.create 和 fromPublisher 有什么区别?
- python - 如何从 url 读取 tiff 文件
- amazon-web-services - filebeat 是否支持 tcp 输入中的确认?