当前位置: 首页 > 知识库问答 >
问题:

向上键“获取选定值”下拉列表值未获取正确值

萧星火
2023-03-14

我曾试图获得选定的下拉值基于一些其他输入类型的文本字段使用下面的代码。然而,每次它获得第一个值,即15,即使我选择了另一个选项

$(".director_code").keyup(function() { //this is Dropbox class selector
  var schoolid = $("#schoolId").children(":selected").val();
  
  // i also tried:
  // $('#schoolId').find('option:selected').val();

  console.log(schoolid);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select name="schoolId" id="schoolId" class="form-control  schoolId" required="">
  <option value="15">a</option>
  <option value="16">b</option>
  <option value="17">c</option>
  <option value="18">d</option>
</select>

<input type="text" name="director_code" id="director_code" class="form-control director_code" pattern="[0-9]+" required="">

这里我选择第二个选项,即b,但它显示警报15,但b的实际值是16

共有3个答案

毋宏茂
2023-03-14

基于你的问题,也许你想要这样,请检查并让我知道是否有什么遗漏。

$(".director_code").keyup(function() { 
  try
  {
     var value = $(this).val();
  //$("#schoolId").val($(this).val()); 
  var oschoolId = $('#schoolId > option').filter(function () { return $.trim($(this).text()) == $.trim(value) }).val();
  
  if(oschoolId!=undefined)
  {
     $('#schoolId').val(oschoolId);
      console.log(oschoolId);
      console.log($(this).val());
  }
  }catch(e)
  {
     console.log("Error: "+e.message);
  }
});
$("#schoolId").change(function(){
    var value= $(this).children("option:selected").text();
    $('#director_code').val(value)
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select name="schoolId" id="schoolId" class="form-control  schoolId" required="">
  <option value="15">a</option>
  <option value="16">b</option>
  <option value="17">c</option>
  <option value="18">d</option>
</select>

<input type="text" name="director_code" id="director_code" class="form-control director_code" pattern="[0-9]+" required="">
郑声
2023-03-14

你应该试试这个

 $("#schoolId").change(function(){
        var selectedVal = $(this).children("option:selected").val();
        $('#director_code').val(selectedVal)
    });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<select name="schoolId" id="schoolId" class="form-control  schoolId" required="">
  <option value="15">a</option>
  <option value="16">b</option>
  <option value="17">c</option>
  <option value="18">d</option>
</select>

<input type="text" name="director_code" id="director_code" class="form-control director_code" pattern="[0-9]+" required="">
太叔俊侠
2023-03-14

您的代码运行良好,正如预期的那样。在输入字段的keyup事件中,它返回所选选项值。那你期待什么?在下面的屏幕截图中,请参阅随时间记录的控制台日志输出w. r. t.输入键盘。

 类似资料:
  • 我有一个下拉列表,客户端必须选择一个值,然后它将在mysql db中持久化好的,我这样做了,但我希望当客户端选择一个值时,我得到该值,然后我执行if语句示例: 如果选择的值为:CIN,则为compte。setcomptenumber(25364138);就像那样 这是我的控制器: 我的html:

  • 问题内容: 如何使用JavaScript从下拉列表中获取选定的值? 我尝试了下面的方法,但是它们都返回选择的索引而不是值: 问题答案: 如果您有一个如下所示的select元素: 运行此代码: 将成为。如果您真正想要的是,请执行以下操作: 这将成为

  • 假设以下HTML下拉列表: 我正在寻找javascript获得所需的选项文本的基础上,它的值。 比如如果问value=“2”上的文本是什么?答案:“价值2” 我尝试了下面的jquery代码: null null

  • 问题内容: 我要实现的事情是,无论何时更改下拉列表,我都希望更改之前的下拉列表的值。我正在使用1.3.2版的jQu​​ery并使用on change事件,但是更改后得到的值是。 可以说,当我在onchange事件中将其更改为堆栈时(即,当我将其更改为堆栈时),现在选择了My选项,我希望它是先前的值,即本例中的期望值。 如何做到这一点? 编辑: 就我而言,我在同一页面中有多个选择框,并希望将相同的内

  • 我在从下拉列表中获取值时遇到问题。我的结构如下: 我正在创建一个下拉列表,如下所示: 例如,如果我将"3"放入"testme.pos"并选择"Jam",但是模型"testme"附带以下示例结果: 我想看到的是: 任何帮助都会很好。我创建了一个plnkr:选择帮助

  • 问题内容: 通常,我使用它来返回所选选项的值,但这一次它不起作用。所选标签的ID HTML代码 问题答案: 对于下拉选项,您可能想要这样的东西: 之所以不能解决问题,是因为单击选项不会更改下拉菜单的值,它只是将属性添加到作为下拉菜单的 子 项的所选选项中。