Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何通过optgroup设置所选选项?_Javascript_Jquery_Html_Jquery Selectors - Fatal编程技术网

Javascript 如何通过optgroup设置所选选项?

Javascript 如何通过optgroup设置所选选项?,javascript,jquery,html,jquery-selectors,Javascript,Jquery,Html,Jquery Selectors,我有以下选择: <select name="pricelist_product[]" id="pricelist_product"> <option value="error" disabled="disabled">SELECT PRODUCT</option> <optgroup label="Cellcom" id="1"> <option value="70">75</option>" <

我有以下选择:

<select name="pricelist_product[]" id="pricelist_product">
  <option value="error" disabled="disabled">SELECT PRODUCT</option>
  <optgroup label="Cellcom" id="1">
    <option value="70">75</option>"
    <option value="125">125</option>
    <option value="199">199</option>
    <option value="5">card bonus 5</option>
  </optgroup>
  <optgroup label="Orange" id="2">
    <option value="70"> 70</option>
    <option value="130"> 130</option>
    <option value="135"> 135 </option>
  </optgroup>
</select>
现在item.product_id包含该值,这当然会设置错误的值。我有一个2D数组,其中包含如下值:

values[item.provider_id][item.product_id]
其中第一个ID是optgroup ID,第二个是值。我怎样才能做到这一点?我找不到有关此主题的信息。

请尝试以下操作:

$(function() {
    var groupId = "1";
    var value = "70";

    $("#pricelist_product #'" + groupId +  "' option[value='" + value + "']").prop("selected", true);
});
试试这个

$("#pricelist_product > optgroup[id='" + item.provider_id +"']").find("option[value='" + item.product_id + "']").attr("selected","selected");
这里有一个更简单的方法:


$yourInputSelector.valitem.product\u id

我忘了提到它只有css的id,我在页面中有很多选择选项,这就是为什么我使用上述选择器。不确定你的意思是什么:/意味着我不能使用pricelist\u产品作为选择器,所以,你只能从optgroup id开始选择?如果是这样,请尝试以下操作:$optgroup'+groupId+'选项[value='+value+'];我从你们的例子中混合了一些东西,这让我找到了正确的方向,我成功了,非常感谢!我忘了提到它只有css的id,我在页面中有很多选择选项,这就是为什么我要用上面的选择符。请只发布完整的答案。不要以需要OP澄清的方式回答。要批评或要求作者澄清,请在其帖子下方留下评论。
$("#pricelist_product > optgroup[id='" + item.provider_id +"']").find("option[value='" + item.product_id + "']").attr("selected","selected");