Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.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_Css - Fatal编程技术网

Javascript 如何一步一步地做出选择?

Javascript 如何一步一步地做出选择?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,有一项任务。在第一步中,必须让用户在3个输入收音机之间进行选择。在他选择了一个他需要的项目后,第二列出现在新的列input radio中。在第二步中的选择之后,第三步将显示最终选择输入收音机 重要的是,每个选定项目的第二步和第三步都是新的 帮助解决这个问题 我发现了一个类似的任务,但它有点不适合我的目的。 $document.readyfunction{ 变量选择=$'。下拉列表'; 选择.not':eq0'.prop'disabled',true; 选择。关于“更改”,函数{ var se

有一项任务。在第一步中,必须让用户在3个输入收音机之间进行选择。在他选择了一个他需要的项目后,第二列出现在新的列input radio中。在第二步中的选择之后,第三步将显示最终选择输入收音机

重要的是,每个选定项目的第二步和第三步都是新的

帮助解决这个问题

我发现了一个类似的任务,但它有点不适合我的目的。

$document.readyfunction{ 变量选择=$'。下拉列表'; 选择.not':eq0'.prop'disabled',true; 选择。关于“更改”,函数{ var select=$this, currentIndex=selects.indexselect, nextIndex=currentIndex+1; 如果currentIndex!=选择.length-1{ 选择.slicenextIndex 瓦尔先生 .prop'disabled',true; 选择.eqnextIndex.prop'disabled',选择.val==; } } }; -Выберите Вид рекламы- Объявление [Товар / Услуга] Визитная карточка Статический баннер -Выберите раздел- Товары Услуги Компании Биржа Публикации -Конечная категория- Весь раздел Главная страница Категория товара Отдельный товар 希望这就是你想要的: 将仅使用CSS在每个选择项和下一个选择项之间创建依赖项。 这可能不是一个完美的解决方案,但在某些情况下,它可能绝对足够了

每个select都必须有一个必需的属性才能工作,而且它们之间不应该有HTML元素

您可以将此方法扩展到几乎任何您想要的内容,包括您提到的单选按钮。只需将它们添加到HTML中,并稍微更改CSS即可。目前还不清楚你到底想要什么,但这可能为你提供了90%的实现途径

选择{margin:1em;display:block;} /*阻止除第一个select元素外的所有元素被禁用*/ 选择:非:第一个子项{不透明度:.3;指针事件:无;} /*如果任何选择有值,则显示下一个选择*/ select:valid+select{opacity:1;指针事件:auto;} 选择:无效{} -Выберите Вид рекламы- Объявление [Товар / Услуга] Визитная карточка Статический баннер -Выберите раздел- Товары Услуги Компании Биржа Публикации -Конечная категория- Весь раздел Главная страница Категория товара Отдельный товар 试试这个:

JSFIDLE示例:

Javascript

CSS

HTML


你试过什么?向我们展示一些东西。我如何在这里插入我的代码?编辑您的问题,然后按Ctrl+MFfirst,然后清除选项中的所有名称!因为您在select元素中使用name,所以其他元素只会相互干扰。其次,如果你使用name属性,你真的应该把你的元素放在一个表单中,最好使用id属性,这样我们就可以在JavaScript中找到它。这与事实非常相似,但是如何确保每个元素都有自己的子点呢?你可以遵循上面的html结构,我已经尽可能地简单了。如果需要更改结构,只需修改css和javascript中的选择器表达式即可。
$('input[type="radio"][name^="group-"]').change(function() {
  var container = $(this).parent().parent();
  var nextSiblings = container.nextAll();
  nextSiblings.removeClass('valid');
  nextSiblings.find('input[type="radio"]').attr('checked', false);
  container.addClass('valid');
});
[id^="step-"] {
  display: table-cell;
  width: 1%;
}

[id^="step-"]:not(:first-child) label {
  opacity: .3;
  pointer-events: none;
}

[id^="step-"].valid+[id^="step-"] label {
  opacity: 1;
  pointer-events: auto;
}

label {
  display: block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="step-1">
  Step 1
  <label><input type="radio" name="group-1" value="1" required>1</label>
  <label><input type="radio" name="group-1" value="2">2</label>
  <label><input type="radio" name="group-1" value="3">3</label>
  <label><input type="radio" name="group-1" value="4">4</label>
  <label><input type="radio" name="group-1" value="5">5</label>
</div>
<div id="step-2">
  Step 2
  <label><input type="radio" name="group-2" value="a" required>a</label>
  <label><input type="radio" name="group-2" value="b">b</label>
  <label><input type="radio" name="group-2" value="c">c</label>
  <label><input type="radio" name="group-2" value="d">d</label>
  <label><input type="radio" name="group-2" value="e">e</label>
</div>
<div id="step-3">
  Step 3
  <label><input type="radio" name="group-3" value="i" required>i</label>
  <label><input type="radio" name="group-3" value="ii">ii</label>
  <label><input type="radio" name="group-3" value="iii">iii</label>
  <label><input type="radio" name="group-3" value="iv">iv</label>
  <label><input type="radio" name="group-3" value="v">v</label>
</div>