jquery 将选项值设置为选定[重复]

f4t66c6m  于 2024-01-07  发布在  jQuery
关注(0)|答案(3)|浏览(181)

此问题在此处已有答案

Change the selected value of a drop-down list with jQuery(19个回答)
上个月关门了。
我想加载一个选择框中的用户的选定值将自动出现。
我正在从服务器接收一个包含用户信息的JSON数据。数据示例为:{"color":"red"}
在我的HTML代码中,我有这样的选择选项:

<select id="input_user" class="selectinput" disabled="true">
<option value="n/a"> n/a </option>
<option value="red"> red </option> 
<option value="green"> green </option>
<option value="yellow"> yellow </option>
<option value="blue"> blue </option>
<option value="white"> white </option>
</select> //this will only show "n/a" as default

字符串
我试着用这段代码把红色的值设为默认值,但是没有用。

var user_color= data[2].color; // this was from the json data
document.getElementById('input_user').selectedIndex = user_color;


有什么需要帮忙的吗?

yrefmtwq

yrefmtwq1#

因为你已经用jQuery标记了这个问题,你可以直接在select上设置val()

var user_color = 'red'; //data[2].color;
$('#input_user').val(user_color);

个字符

0dxa2lsx

0dxa2lsx2#

经过大量的研究,我终于回去看了jQuery文档,它给了我正确的答案:
1 /删除已经具有“selected”属性的标签的所有属性

function remove_selected(){
  $("select option").removeAttr('selected');
}

字符串
2 /我使用jQuery的prop()函数将'selected'属性分配给所需的标记

// USE THE FUNCTION TO REMOVE ALL ATTRIBUTES ALREADY SELECTED  
remove_selected();

// Set the tag <option> attribute to 'selected'
$('select option[value="ThatYouWant"]').prop({defaultSelected: true});


在HTML中,这给出:

<select>
  <option value="something">Something</option>
  <option value="ThatYouWant" selected>That you want</option>
  <option value="OtherValue">Other value</option>
</select>


它是干净的,没有灰尘,感谢您的反馈和更正,批准如果你发现这个解决方案正确。真诚的,拉夫。
来源:https://api.jquery.com/prop/

qyyhg6bp

qyyhg6bp3#

更简单的方法如下:

$("#input_user").val("red").trigger("change");

字符串
只需要在val()中传递你想作为选择值的值。

相关问题