从Javascript中的嵌套列表中预选项目

从Javascript中的嵌套列表中预选项目,javascript,jquery,javascript-events,selection,Javascript,Jquery,Javascript Events,Selection,我正在尝试预选两个类似领域的项目(语言和可交付成果) <div class="fields-wrapper"> <div class="language-field"> <ul> <li value="1">EN</li> <li value="2">ES</li> <li value="3">NL</li> </u

我正在尝试预选两个类似领域的项目(语言和可交付成果)

<div class="fields-wrapper">
  <div class="language-field">
    <ul>
        <li value="1">EN</li>
        <li value="2">ES</li>
        <li value="3">NL</li>
    </ul>
  </div>

  <div class="deliverables-field">
    <ul>
        <li value="1">A</li>
        <li value="2">B</li>
        <li value="3">C</li>
    </ul>
  </div>
</div>

  • EN
  • ES
  • NL
  • A
  • B
  • C
在我的javascript中,我尝试了以下两种方法来选择相应的项目,但都是徒劳的。我将感激你的帮助。非常感谢

<script type="text/javascript">
$(document).ready(function() {
  $(".language-field ul li").val(["1"]).addClass('selected');
  $(".deliverables-field ul li").eq(0).addClass('selected');
 });

$(文档).ready(函数(){
$(“.language field ul li”).val([“1”).addClass('selected');
$(“.ul li”).eq(0).addClass('selected');
});
您需要在此处使用。用于获取/设置输入字段的值

在您的情况下,因为您处理的是
li
是元素的一个属性

$(function(){
    $('.language-field ul li[value="1"]').addClass('selected');
    $(".deliverables-field ul li").eq(0).addClass('selected');
})

演示:

由于您使用的是jQuery,我建议您使用$(function(){}),而不是$(document).ready(function(){})谢谢。我也改正了,谢谢。这很有道理,所以在我的情况下,至少应该选择可交付项目A。我尝试了$('.language field ul li[value=“1”]')。addClass('selected')$('.deliveries字段ul li[value=“1”]')。addClass('selected');它不起作用了。啊!我就是想不起来。@Kédar你能检查一下我制作的小提琴演示吗?它很好用。是的,我做了,谢谢。这很有道理。我似乎无法弄清楚为什么我的代码不会选择该项。@Kédar html元素是如何创建的?页面加载时是否存在/是否通过ajax@K最简单的测试是在
$('.language field ul li[value=“1”]')之前添加
警报($(“.deliveries field”).length)
并查看结果