无法使用 jQuery 更改选择值

发布于 2025-01-07 20:54:01 字数 431 浏览 0 评论 0 原文

我有一个非常简单的选择定义如下:

<select name='typedoc' id ='typedoc' size=1>
    <option>1</option>
    <option>2</option>
</select>

有 2 个值,12。显示正常。我无法使用 jQuery 更改该值。我尝试过:

$('[name=typedoc]').val('2');

但是

$('#typedoc').val('2');

ddl 仍然是第一个选择。前面的行已执行,因此我确信该函数已被调用。可能出什么问题了?

I've got a very simple select defined like this :

<select name='typedoc' id ='typedoc' size=1>
    <option>1</option>
    <option>2</option>
</select>

There are 2 values, 1 and 2. Display is OK. I can't change the value with jQuery. I tried :

$('[name=typedoc]').val('2');

and

$('#typedoc').val('2');

But the ddl stays on the first choice. The lines before are executed, so I'm sure the function is called. What could be wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

墨落画卷 2025-01-14 20:54:01

由于您的问题不是很清楚,我假设您需要一个用于以下 3 种解决方案,

//To change the value of the option
$('[name=typedoc] option[value=2]').val('3'); 

//To select option with value = 3
$('[name=typedoc] option[value=3]').prop('selected',true);

//To Change the text of the option with value = 3
$('[name=typedoc] option[value=3]').text('Third');

Since your question is not very clear, I am going to presume that you want one for following 3 solutions,

//To change the value of the option
$('[name=typedoc] option[value=2]').val('3'); 

//To select option with value = 3
$('[name=typedoc] option[value=3]').prop('selected',true);

//To Change the text of the option with value = 3
$('[name=typedoc] option[value=3]').text('Third');
嘿哥们儿 2025-01-14 20:54:01

我也遇到了这个问题,通过使用以下方法解决了它:

$('#typedoc option[value="2"]').prop('selected',true);

显然,您可以通过编辑选择器字符串动态替换该值

I had this problem too solved it by using this:

$('#typedoc option[value="2"]').prop('selected',true);

Obviously you can substitute the value dynamically by editing the selector string

暖伴 2025-01-14 20:54:01

这是工作

<select name='typedoc' id ='typedoc' size=1>
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
</select>

jquery 是

jQuery(document).ready(function ($) {
    $('[name=typedoc]').val('4');
});

This is working

<select name='typedoc' id ='typedoc' size=1>
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
</select>

jquery is

jQuery(document).ready(function ($) {
    $('[name=typedoc]').val('4');
});
无人接听 2025-01-14 20:54:01

对我有用....检查您的标记或提供更多详细信息...

http://jsfiddle.net/uTkyE /1/

Works for me .... check your markup or give more details ...

http://jsfiddle.net/uTkyE/1/

夏末的微笑 2025-01-14 20:54:01

使用 $('#typedoc option[value="2"]').attr('selected', true) 而不是 .val()

Instead of .val(), use $('#typedoc option[value="2"]').attr('selected', true)

我不吻晚风 2025-01-14 20:54:01

对我来说看起来不错,请检查您的标记是否存在语法错误

HTML:

<select name='typedoc' id ='typedoc' size=1>
    <option value="1" >1</option> 
    <option value="2" >2</option>     
</select>

JS:

$(function() {
    $('[name=typedoc]').val('2');
});

演示

Looks fine to me, check your markup for syntax errors

HTML:

<select name='typedoc' id ='typedoc' size=1>
    <option value="1" >1</option> 
    <option value="2" >2</option>     
</select>

JS:

$(function() {
    $('[name=typedoc]').val('2');
});

DEMO

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文