【问题标题】:.val() doesn't set value for select (jQuery).val() 没有为 select (jQuery) 设置值
【发布时间】:2010-09-05 03:52:11
【问题描述】:
$('.reset').click(function () {
    $('select[name=one]').val(opt2);
});​

JSFiddle here

我应该改变什么?

谢谢!

【问题讨论】:

    标签: javascript jquery forms select


    【解决方案1】:

    opt2 放在val() 的引号中。这是一个错误,因为它是undefined


    $('.reset').click(function () {
        $('select[name=one]').val('opt2');
    });​
    

    你问了一些其他的方法,但我只知道一种。此方法不需要 jQuery 来运行(请注意,[0] 抓取普通的 Object 而不是 jQuery 包装的 Object)。

    //Without jQuery... pretty sure I'm correct with the second method, but I'm rusty on that one.
    document.getElementById('formID').one.selectedIndex = 0; // Sets the select back to the first option.
    document.formName.one.selectedIndex = 0;
    
    //With jQuery
    $('select[name=one]')[0].selectedIndex = 0;
    

    【讨论】:

    • 啊,谢谢,但是还有其他替代方法来选择一个选项吗?谢谢
    • 奇怪,但用引号或双引号括起来仍然不起作用。我在点击事件结束时添加了一个警报,发现选项是按要求选择的,但在点击事件之后又恢复了原来的样子。奇怪!
    • 用引号括起来确实有效:jsfiddle.net/q3ZzH 点击重置,选择的选项是“opt2”。
    • @Nimbuz:回复:"enclosing in quotes or doublequotes still doesn't work" 那么代码中存在一个问题,您没有向我们展示。链接到重复新问题的页面或发布代码。
    • @Nimbuz:我在运行 jsFiddle 演示时没有这个问题。如果您在代码中执行我们看不到的其他操作,听起来 Brock 是对的。我在 Snow Leopard 上运行 FF 3.6.8。你呢?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-30
    • 1970-01-01
    • 1970-01-01
    • 2021-05-31
    • 1970-01-01
    相关资源
    最近更新 更多