【问题标题】:get selectbox selected value by name tag jquery通过名称标签jquery获取选择框选定的值
【发布时间】:2015-03-31 07:04:18
【问题描述】:

我有这样的表格

<label>Select country</label>  
    <select name="country">
        <option value="IND" selected="selected">India</option>
        <option value="MY">Malaysia</option>
        <option value="US">United states</option>
    </select>
</label>

我想使用 jquery 获取所选国家/地区的值。

这是我在 jquery 文档块中的代码:我的 jquery 版本:jquery-1.10.1.js

alert($('select[name="country"]').find(":selected").val());
alert($('select[name="country"] option:selected').val());

我不喜欢按 ID 或类调用选择器。提前致谢。

我无法为国家/地区选择框编写 onChange。我需要对日期输入字段(followup_date)的模糊执行ajax请求。

$('#followup_date').change(function(e) {

        if($(this).val()!='')
        {
            //$('.tmslot').not(this).attr('checked', false);        
            var slot = $(this).val();
            var country_id = $('select[name="country"] option:selected').val();

我的问题是 country_id 得到 undefined

【问题讨论】:

  • 你需要这个 $('select[name="country"]').val();
  • alert($('select[name="country"]').val()); 应该没问题 - jsfiddle.net/arunpjohny/sof2pjbs/2
  • 这对我有用$('select[name="country"]').find(":selected").val();

标签: jquery jquery-selectbox


【解决方案1】:

select 元素上使用.val(),而不是在选定的option 上:

$('select[name="country"]').on('change', function(){    
    alert($(this).val());    
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select name="country">
        <option value="IND" selected="selected">India</option>
        <option value="MY">Malaysia</option>
        <option value="US">United states</option>
    </select>

【讨论】:

  • 蒂姆,非常感谢您抽出宝贵时间。但是,我无法为选择框编写 onChange。我需要对输入字段的模糊执行 ajax 请求。
  • @chandoo 永远欢迎!请随时将我的答案标记为已接受:) on('cahnge') 这里仅用于演示主要思想 - 使用 $('select[name="country"]').val() 获取 select 元素的值。
【解决方案2】:

根据文档,

.val() 方法主要用于获取 input、select 和 textarea 等表单元素的值。在 select 元素的情况下,当没有选择选项时返回 null,当至少有一个选项时,它返回一个包含每个选定选项的值的数组,并且可以选择更多,因为存在 multiple 属性。

您只需将.val() 与选择元素 jquery 对象一起使用即可获取选定的选项值:

$('select[name="country"]').val()

【讨论】:

  • @KishoreKumar:你能在小提琴中重现这个问题吗?
【解决方案3】:

如果你想获得选项:

alert($('select[name=country]').find(':selected').text());

【讨论】:

  • 这会给你文本,即马来西亚而不是价值 MY
【解决方案4】:

你可能需要这个Demo Here

alert($('select[name="country"]').val());
$('select[name="country"]').change(function(){    
    alert($(this).val());    
});

【讨论】:

    猜你喜欢
    • 2012-10-05
    • 2011-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-23
    相关资源
    最近更新 更多