1

我想做的是有两组问题,并根据我的第一个问题改变它们。

如果您是所有者,那么如果您不是所有者,那么我有一组不同的问题。我可以做到这一点,但在我看来,这是一种非常糟糕的方式......用替换......我应该有一个 div a 让它不可见,如果它是选定的,让它进来吗?如果我必须按照我现在的方式做,我想先有答案框,如果可以的话,而不是在文本的末尾?提前致谢!我已经包括了一个小提琴

<select>
      <option value=>owner</option>
      <option value=>non-owner</option>
</select>

http://jsfiddle.net/philyphil/LjxGB/embedded/result/

4

2 回答 2

4

将“更改”功能附加到选择框,检查该功能中所选选项的值,并使用该值选择和显示正确的问题集。

(这次更新为实际工作)点击它-> jsFiddle

<select class="myOptions">
  <option data-val="" selected>Pick an option</option>
  <option data-val="owner">Owner</option>
  <option data-val="not-owner">Not Owner</option>
</select>

<div class="list owner">
    <p>abc</p>
  <!-- questions for owners -->
</div>

<div class="list not-owner">
    <p>xyz</p>
  <!-- questions for non-owners -->
</div>

一点点css...

.list { display:none; }
.list.active { display:block }

和js...

$('.myOptions').change(function(){
  $('.list').removeClass('active')
  .filter('.' + $('.myOptions').children('option:selected').attr('data-val'))
  .addClass('active');
});
于 2013-06-27T23:45:49.607 回答
0

------编辑------

请参阅小提琴的工作代码:http: //jsfiddle.net/q7qGs/embedded/result/

------ //编辑------

为您的选择提供一个 id 和/或名称属性是个好主意,您可以使用它轻松地在原始 javascript 或 jquery中的onchangeonclick函数(回调)中定位字段的选定选项值或文本。您也可以以相同的方式将每个元素或元素组包装在 div 中。

就个人而言,我会使用 jQuery 来做到这一点,因为它编写起来更快并且跨浏览器兼容很好,但是,我离题了......

本质上,在 jQuery 中,如果您有一个如下定义的选择字段:

<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>

有关 jQuery 以及如何使用它的更多信息,请参阅jQuery 网站以及关于基于另一个值有条件地显示/隐藏表单元素的论坛帖子/教程。

希望能帮助到你,

盖兹

于 2013-06-28T00:08:34.130 回答