Javascript 根据用户选择进行更改
我想做的是有两组问题,并根据我的第一个问题进行修改 如果你是业主,我有一套不同的问题,如果你不是业主。我可以做到这一点,但在我看来,这是一个非常糟糕的方式。。。使用replacewith…我是否应该有一个div a使其不可见,并使其在选中的情况下进入?如果我必须按照我现在的方式来做,如果可以的话,我希望先有答案框,而不是在课文末尾?提前谢谢!我包括一把小提琴Javascript 根据用户选择进行更改,javascript,jquery,html,Javascript,Jquery,Html,我想做的是有两组问题,并根据我的第一个问题进行修改 如果你是业主,我有一套不同的问题,如果你不是业主。我可以做到这一点,但在我看来,这是一个非常糟糕的方式。。。使用replacewith…我是否应该有一个div a使其不可见,并使其在选中的情况下进入?如果我必须按照我现在的方式来做,如果可以的话,我希望先有答案框,而不是在课文末尾?提前谢谢!我包括一把小提琴 <select> <option value=>owner</option>
<select>
<option value=>owner</option>
<option value=>non-owner</option>
</select>
主人
非所有者
将“更改”功能附加到选择框,检查该功能中所选选项的值,并使用该值选择和显示正确的问题集 (这次更新为实际工作)单击它-> 还有js
$('.myOptions').change(function(){
$('.list').removeClass('active')
.filter('.' + $('.myOptions').children('option:selected').attr('data-val'))
.addClass('active');
});
将“更改”功能附加到选择框,检查该功能中所选选项的值,并使用该值选择和显示正确的问题集 (这次更新为实际工作)单击它-> 还有js
$('.myOptions').change(function(){
$('.list').removeClass('active')
.filter('.' + $('.myOptions').children('option:selected').attr('data-val'))
.addClass('active');
});
------编辑------
工作代码请参见fiddle:
------//编辑------
为select提供一个id和/或name属性是个好主意,通过该属性,您可以在原始javascript或jquery中的onchange或onclick函数(回调)中轻松地将字段的选定选项值或文本作为目标。您也可以用同样的方式将每个元素或元素组包装在div中
就我个人而言,我会使用jQuery来实现这一点,因为它编写速度更快,而且跨浏览器兼容性也很好,但是,我离题了
基本上,在jQuery中,如果有一个select字段定义如下:
<select id="is_owner">
<option value="yes">owner</option>
<option value="no">non-owner</option>
</select>
主人
非所有者
您可以通过添加以下内容来检测其价值的变化:
<script type="text/javascript">
(function($){
$('#is_owner').change(function(){
//set var = to the field's current value
var value = $(this).val();
// Check value to see which field to show/hide
if(value == 'yes'){
// Show other field
/* YOUR CODE TO SHOW OTHER FIELD GOES HERE... target the field you want to show or hide for the yes condition as before and append .show() or .hide() respecively*/
}
else if(value == 'no'){
// Show other field
/* YOUR CODE TO SHOW OTHER FIELD GOES HERE... (see above*/
}
});
})(jQuery);
</script>
(函数($){
$(“#是_所有者”)。更改(函数(){
//将var=设置为字段的当前值
var值=$(this.val();
//检查值以查看要显示/隐藏的字段
如果(值=‘是’){
//显示其他字段
/*用于显示其他字段的代码将显示在此处……与前面一样,针对“是”条件下要显示或隐藏的字段,分别追加.SHOW()或.hide()*/
}
如果为else(值=‘否’){
//显示其他字段
/*显示其他字段的代码在此处…(参见上文)*/
}
});
})(jQuery);
有关jQuery以及如何使用它的更多信息,请参见除了一个基于另一个值的有条件显示/隐藏表单元素
希望有帮助
Gez----编辑------
工作代码请参见fiddle:
------//编辑------
为select指定一个id和/或name属性是个好主意,通过该属性,您可以轻松地在原始javascript或jquery中的onchange或onclick函数(回调)中定位字段的所选选项值或文本。您也可以用同样的方式将每个元素或元素组包装在div中
就我个人而言,我会使用jQuery来实现这一点,因为它编写速度更快,而且跨浏览器兼容性也很好,但是,我离题了
基本上,在jQuery中,如果有一个select字段定义如下:
<select id="is_owner">
<option value="yes">owner</option>
<option value="no">non-owner</option>
</select>
主人
非所有者
您可以通过添加以下内容来检测其价值的变化:
<script type="text/javascript">
(function($){
$('#is_owner').change(function(){
//set var = to the field's current value
var value = $(this).val();
// Check value to see which field to show/hide
if(value == 'yes'){
// Show other field
/* YOUR CODE TO SHOW OTHER FIELD GOES HERE... target the field you want to show or hide for the yes condition as before and append .show() or .hide() respecively*/
}
else if(value == 'no'){
// Show other field
/* YOUR CODE TO SHOW OTHER FIELD GOES HERE... (see above*/
}
});
})(jQuery);
</script>
(函数($){
$(“#是_所有者”)。更改(函数(){
//将var=设置为字段的当前值
var值=$(this.val();
//检查值以查看要显示/隐藏的字段
如果(值=‘是’){
//显示其他字段
/*用于显示其他字段的代码将显示在此处……与前面一样,针对“是”条件下要显示或隐藏的字段,分别追加.SHOW()或.hide()*/
}
如果为else(值=‘否’){
//显示其他字段
/*显示其他字段的代码在此处…(参见上文)*/
}
});
})(jQuery);
有关jQuery以及如何使用它的更多信息,请参见除了一个基于另一个值的有条件显示/隐藏表单元素
希望有帮助
GezHeh,
shift
key-breaked?哈哈,不行。我有一个单轨思维,而且它正在发挥作用。如果我认为大写字母可以帮助我得到答案,我很乐意洛尔,如果这个问题易读,格式良好,等等,你更有可能得到一个好答案,shift
key-breaked?哈哈,不行。我如果我认为大写字母有助于我得到答案,我很乐意告诉你,如果这个问题易读,格式良好,等等,你更有可能得到一个好答案=DHaha我得到了几乎完全相同的答案!+1个好答案…我唯一要说的是HTML规范不赞成添加由常规html属性处理的自定义数据属性,即数据val应为“值”。Gez@relic180尝试过,可能我还是新手,做了一把小提琴,但不起作用。@philly将我的坏答案更新为一个有效答案…对此表示抱歉。@philly有一个javascript错误-用源代码阻止了一个框架“”从访问原点为“”的帧开始.协议、域和端口必须匹配。哈哈,我得到了几乎完全相同的答案!+1回答很好…我唯一要说的是,HTML规范不赞成添加由常规HTML属性处理的自定义数据属性,即数据val应该是“值”。Gez@relic180试过了,也许我还是个新手,做了一把小提琴,但是做了“这不管用!”philly将我的错误答案更新为有效答案…对此表示抱歉