Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 根据用户选择进行更改_Javascript_Jquery_Html - Fatal编程技术网

Javascript 根据用户选择进行更改

Javascript 根据用户选择进行更改,javascript,jquery,html,Javascript,Jquery,Html,我想做的是有两组问题,并根据我的第一个问题进行修改 如果你是业主,我有一套不同的问题,如果你不是业主。我可以做到这一点,但在我看来,这是一个非常糟糕的方式。。。使用replacewith…我是否应该有一个div a使其不可见,并使其在选中的情况下进入?如果我必须按照我现在的方式来做,如果可以的话,我希望先有答案框,而不是在课文末尾?提前谢谢!我包括一把小提琴 <select> <option value=>owner</option>

我想做的是有两组问题,并根据我的第一个问题进行修改

如果你是业主,我有一套不同的问题,如果你不是业主。我可以做到这一点,但在我看来,这是一个非常糟糕的方式。。。使用replacewith…我是否应该有一个div a使其不可见,并使其在选中的情况下进入?如果我必须按照我现在的方式来做,如果可以的话,我希望先有答案框,而不是在课文末尾?提前谢谢!我包括一把小提琴

<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中的onchangeonclick函数(回调)中轻松地将字段的选定选项值或文本作为目标。您也可以用同样的方式将每个元素或元素组包装在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中的onchangeonclick函数(回调)中定位字段的所选选项值或文本。您也可以用同样的方式将每个元素或元素组包装在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

Heh,
shift
key-breaked?哈哈,不行。我有一个单轨思维,而且它正在发挥作用。如果我认为大写字母可以帮助我得到答案,我很乐意洛尔,如果这个问题易读,格式良好,等等,你更有可能得到一个好答案,
shift
key-breaked?哈哈,不行。我如果我认为大写字母有助于我得到答案,我很乐意告诉你,如果这个问题易读,格式良好,等等,你更有可能得到一个好答案=DHaha我得到了几乎完全相同的答案!+1个好答案…我唯一要说的是HTML规范不赞成添加由常规html属性处理的自定义数据属性,即数据val应为“值”。Gez@relic180尝试过,可能我还是新手,做了一把小提琴,但不起作用。@philly将我的坏答案更新为一个有效答案…对此表示抱歉。@philly有一个javascript错误-用源代码阻止了一个框架“”从访问原点为“”的帧开始.协议、域和端口必须匹配。哈哈,我得到了几乎完全相同的答案!+1回答很好…我唯一要说的是,HTML规范不赞成添加由常规HTML属性处理的自定义数据属性,即数据val应该是“值”。Gez@relic180试过了,也许我还是个新手,做了一把小提琴,但是做了“这不管用!”philly将我的错误答案更新为有效答案…对此表示抱歉