【问题标题】:How to check the integer value of a selected option with jQuery?如何使用 jQuery 检查选​​定选项的整数值?
【发布时间】:2015-10-27 21:09:34
【问题描述】:

假设我有一个这样的选择选项字段:

  <select id="options">
    <option value=1>1</option>
    <option value=2>2</option>
  </select>

如何检查所选选项的值?

$("#options").value() 返回一个类型错误。 $("#options").text() 返回 ""$("#options").val() 返回 undefined

如何检查选定的整数值?

【问题讨论】:

  • 您确定在执行该脚本之前已加载 DOM?
  • @Xufox 我很确定。我可以使用 jquery 来检查文本输入的值。
  • .val() 对我来说很好:jsfiddle.net/vp83h8kz 您是否在加载之前读取值?
  • 无法复制。给我们一个可重现的 sn-p。
  • 确保将您的属性值用引号括起来。例如 value="1"

标签: javascript jquery select integer


【解决方案1】:
$( document ).ready(function() {
    var value = $('#options').val();
    //or
    var $('#options :selected').text();
});

除非脚本执行得太早,否则您的代码应该可以工作。

【讨论】:

    【解决方案2】:

    需要获取选中选项的值

    $("#options option:selected").val()
    

    【讨论】:

    • $("#options").val() 完全一样。
    • 它以字符串形式返回值。
    【解决方案3】:

    您可以选择以下两种方式之一(下面都有演示,请查看 console.log)

    你可以听你拥有的select元素的.change(),然后找到所选选项的值

    或者你可以浏览每个选项并找到它对应的值

    $(document).ready(function() {
        $('#options').on('change', function() {
        	console.log($(this).val());
        });
        
        $('#options option').each(function() {
        	console.log('option value: '+  $(this).val());
        });
    });
    <select id="options">
      <option value=1>1</option>
      <option value=2>2</option>
    </select>

    【讨论】:

      【解决方案4】:

      如果您希望在选定的 div 中获取文本,则需要在 div 上添加“selected”伪选择器以指定您想要选定的选项。

      所以要获得选定的文本将是:

      $( "#options option:selected" ).text();
      

      或者,如果您想获取值,请使用:

      $( "#myselect" ).val();
      

      您可以在 jquery 文档中查看更多信息 here

      【讨论】:

      • 这不是真的。您所做的是获取所选选项的文本。如果您使用 .val() 而不是 .text() 它将获得该选定选项的值,但您不必为此使用 'selected 伪选择器。您可以直接在 select 元素上调用 val() 来获取值。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-10
      • 1970-01-01
      • 1970-01-01
      • 2017-07-12
      • 1970-01-01
      • 2011-04-14
      • 2020-03-21
      相关资源
      最近更新 更多