使用jQuery查找JSON对象中列出的所有id

使用jQuery查找JSON对象中列出的所有id,jquery,Jquery,从ajax请求中,我得到了以下响应 val1,val2,val3 并且有一个id与它们相同的列表,如 <select multiple> <option id="val1">val1</option> <option id="val4">val4</option> <option id="val5">val5</option> <option id="val2">val2

从ajax请求中,我得到了以下响应

val1,val2,val3
并且有一个id与它们相同的列表,如

<select multiple>
  <option id="val1">val1</option>
  <option id="val4">val4</option>      
  <option id="val5">val5</option>
  <option id="val2">val2</option>
  <option id="val6">val6</option>
  <option id="val1">val3</option>
</select>
我如何才能将attr选择的ajax响应中的所有选项ID都指定给它? 像这样:

<select multiple>
  <option id="val1" selected="selected">val1</option>
  <option id="val4">val4</option>      
  <option id="val5">val5</option>
  <option id="val2" selected="selected">val2</option>
  <option id="val6">val6</option>
  <option id="val1" selected="selected">val3</option>
</select>
<select multiple="multiple">
  <option value="val1">val1</option>
  <option value="val4">val4</option>      
  <option value="val5">val5</option>
  <!-- rest of your options -->
</select> 
我希望这是清楚的! 非常感谢您提前使用,您还需要设置select的多属性以允许选择

选择的多个属性

此布尔属性表示可以选择多个选项 在名单上。如果未指定,则只能选择一个选项 一次选择一个

jQuery过滤器

给定一个表示一组DOM元素的jQuery对象 .filter方法从 匹配元素。所提供的选择器将针对每个 要素与选择器匹配的所有元素都将包含在 结果

尝试使用,您还需要设置select的多属性以允许选择

选择的多个属性

此布尔属性表示可以选择多个选项 在名单上。如果未指定,则只能选择一个选项 一次选择一个

jQuery过滤器

给定一个表示一组DOM元素的jQuery对象 .filter方法从 匹配元素。所提供的选择器将针对每个 要素与选择器匹配的所有元素都将包含在 结果


你需要做两件事:

将选项中的所有id属性更改为value。在选项中使用id是不合适的。如果未使用val,则选项内的文本将作为选项的值

<select>
  <option value="val1">val1</option>
  <option value="val4">val4</option>      
  <option value="val5">val5</option>
  <!-- rest of your options -->
</select> 
现在,对于您的问题,您可以将从ajax调用中获得的数据拆分为一个数组,然后将其传递给jQuery的val。这将为JS引擎节省大量时间来搜索ID和更改选项的属性

//store your ajax response in a variable
var values = 'val1,val2,val3'.split(',');
//assign multiple values to <select>
$("select").val(values);
演示:


有关val的更多信息,.

您需要做两件事:

将选项中的所有id属性更改为value。在选项中使用id是不合适的。如果未使用val,则选项内的文本将作为选项的值

<select>
  <option value="val1">val1</option>
  <option value="val4">val4</option>      
  <option value="val5">val5</option>
  <!-- rest of your options -->
</select> 
现在,对于您的问题,您可以将从ajax调用中获得的数据拆分为一个数组,然后将其传递给jQuery的val。这将为JS引擎节省大量时间来搜索ID和更改选项的属性

//store your ajax response in a variable
var values = 'val1,val2,val3'.split(',');
//assign multiple values to <select>
$("select").val(values);
演示:


有关val的更多信息,请参见。

您不能这样做!下拉列表中只能有一个选定选项。uve有很多元素,id为val1。这也不对。您只能有一个具有唯一id的唯一元素。不应将id属性用于选项标记@hungerpain,多选列表如何?我没有看到multiple=multiple属性@YD1m。。这就是为什么我说它不可能的原因摘要:1对选择标记使用多属性,2对多个元素不使用相同的id,3对选项不使用id属性你们都是对的,我只是忘记了多属性。多重val1只是一些打字错误,完全不是故意的。你不能这么做!下拉列表中只能有一个选定选项。uve有很多元素,id为val1。这也不对。您只能有一个具有唯一id的唯一元素。不应将id属性用于选项标记@hungerpain,多选列表如何?我没有看到multiple=multiple属性@YD1m。。这就是为什么我说它不可能的原因摘要:1对选择标记使用多属性,2对多个元素不使用相同的id,3对选项不使用id属性你们都是对的,我只是忘记了多属性。多重val1只是一些打字错误,完全不是故意的。