Javascript 使用Jquery根据输入显示和隐藏元素
我一直在尝试创建一个表单,它会根据用户条目的不同而变化。到目前为止,我已经成功地使用无线电输入来更改要显示的内容,但是我在编辑JS以使用下拉菜单时遇到了问题 HTML Javascript 我知道JQuery正在查找正确的元素,并且正在更改它们的显示,但它从未更改显示以使它们可见。我认为问题可能是JS没有正确地从选项的属性中获取数据类型变量 我希望JQuery按预期工作,并根据用户选择显示正确的div 我怎样才能修改代码来做到这一点?谢谢你的帮助。你现在得到了:Javascript 使用Jquery根据输入显示和隐藏元素,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我一直在尝试创建一个表单,它会根据用户条目的不同而变化。到目前为止,我已经成功地使用无线电输入来更改要显示的内容,但是我在编辑JS以使用下拉菜单时遇到了问题 HTML Javascript 我知道JQuery正在查找正确的元素,并且正在更改它们的显示,但它从未更改显示以使它们可见。我认为问题可能是JS没有正确地从选项的属性中获取数据类型变量 我希望JQuery按预期工作,并根据用户选择显示正确的div 我怎样才能修改代码来做到这一点?谢谢你的帮助。你现在得到了: var type = $(thi
var type = $(this).attr('data-type');
由于函数是在上调用的,所以可以选择定义的数据类型属性,而不是从中选择
因此,您需要找到所选的:
检查一下
[编辑]
如果要简化代码,可以使用以下方法:
$(function () {
$('.show-and-hide-content select').on('change', function() {
$(this).parent().
find('.content').hide()
.filter('.content-' + $(this).find('option:selected').attr('data-type') ).show();
});
});
.您现在可以:
var type = $(this).attr('data-type');
由于函数是在上调用的,所以可以选择定义的数据类型属性,而不是从中选择
因此,您需要找到所选的:
检查一下
[编辑]
如果要简化代码,可以使用以下方法:
$(function () {
$('.show-and-hide-content select').on('change', function() {
$(this).parent().
find('.content').hide()
.filter('.content-' + $(this).find('option:selected').attr('data-type') ).show();
});
});
.或将您选择的数据类型更改为value和use
或者将“选择数据类型”更改为“值和使用”
试试这个
$(function () {
$('#select').on('change', function () {
var selctedval = $(this).val();
$('.content').hide();
$('.content-' + selctedval).show();
});
});
试试这个
$(function () {
$('#select').on('change', function () {
var selctedval = $(this).val();
$('.content').hide();
$('.content-' + selctedval).show();
});
});
这将使用数据类型属性中的任何值,并将其与消息中的内容类相匹配。如果没有匹配的消息,则不会显示任何消息
$('.show-and-hide-content select').on('change', function(){
var selected = $(this).find('option:selected').data('type');
$('.content').addClass('hidden');
$('.content-' + selected).removeClass('hidden');
});
这是一个它将使用数据类型属性中的任何值,并将其与消息中的内容类相匹配。如果没有匹配的消息,则不会显示任何消息
$('.show-and-hide-content select').on('change', function(){
var selected = $(this).find('option:selected').data('type');
$('.content').addClass('hidden');
$('.content-' + selected).removeClass('hidden');
});
感谢您指出这一点。这样做应该会清理代码。感谢您指出这一点。这样做应该会清理代码。
$('.show-and-hide-content select').on('change', function(){
var selected = $(this).find('option:selected').data('type');
$('.content').addClass('hidden');
$('.content-' + selected).removeClass('hidden');
});