Javascript jQuery根据其他选择框替换选择中的值

Javascript jQuery根据其他选择框替换选择中的值,javascript,jquery,Javascript,Jquery,我有以下数组: var LWTable = []; LWTable.push([6,200,200,220]); LWTable.push([8,220,220,240]); LWTable.push([10,240,240,260]); LWTable.push([12,260,260,290]); LWTable.push([15,290,310,340]); LWTable.push([18,330,360,400]); LWTable.push([21,385,420,460]); 以

我有以下数组:

var LWTable = [];
LWTable.push([6,200,200,220]);
LWTable.push([8,220,220,240]);
LWTable.push([10,240,240,260]);
LWTable.push([12,260,260,290]);
LWTable.push([15,290,310,340]);
LWTable.push([18,330,360,400]);
LWTable.push([21,385,420,460]);
以及以下html:

<select name="plength" id="plength">
  <option value="6" selected>6 in.</option>
  <option value="8">8 in.</option>
  <option value="10">10 in.</option>
  <option value="12">12 in.</option>
  <option value="15">15 in.</option>
  <option value="18">18 in.</option>
  <option value="21">21 in.</option>
</select>
<select name="pwidth" id="pwidth">
  <option value="Width1" selected>Width 1 (xw1x)</option>
  <option value="Width2">Width 2 (xw2x)</option>
  <option value="Width3">Width 3 (xw3x)</option>
</select>
我想要的是,当我为plength选择值8时,在pwidth选择框中,xw1x、xw2x和xw3x字符串被MinLoadTable中的值替换,因此在本例中,它将显示220、220和240。 当我选择21时,它会自动将该文本替换为385420460

这可能吗?如果可能,如何实现?我试着查找一些例子,但没有找到任何地方。。。
任何帮助或指导都将不胜感激

如果可以将JS代码中的数据结构更改为一个对象,您可以将其向前推进。首先,可以从对象的关键点创建加载时的正压选择选项。然后更改正压时,可以使用选定的值在对象中查找关键点并填充pwidth的选项。试试这个:

变量LWTable={ '6': [200, 200, 220], '8': [220, 220, 240], '10': [240, 240, 260], '12': [260, 260, 290], '15': [290, 310, 340], '18': [330, 360, 400], '21': [385, 420, 460], } var plengthOptions=; Object.keysLWTable.forEachfunctionkey{ plengthOptions+=+键+“输入”; }; $'plength'.appendplengthOptions.changefunction{ var pwidthOptions=; LWTable[this.value].forEachfunctionwidth,i{ pwidthOptions+='Width'+i+1+''+Width+; }; $'pwidth'.htmlWidthOptions; }.改变;
您可以尝试以下方法:

$function{ var-LWTable=[]; LWTable.push[620002020]; LWTable.push[8220240]; LWTable.push[10240240260]; LWTable.push[12260290]; LWTable.push[15290310340]; LWTable.push[18330360400]; LWTable.push[21385420460]; $plength.changefunction{ var ele=$this 变量长度=ele.val; 变量宽度=LWTable.findfunctionitem{ 返回项[0]==长度; }; 如果宽度{ var$pWidth=$pWidth; $pWidth.empty; $.eachwidths.slice1,函数键,值{ var txt='宽度'+键+1+''+值+; $pWidth.append$ .价值,价值 .texttxt; }; } }; $plength.triggerchange; } 6英寸。 8英寸。 10英寸。 12英寸。 15英寸。 18英寸。 21英寸。 宽度1 x 1 x 宽度2 x宽2x 宽度3xw3x
您必须为数据使用多维数组吗?似乎一个由plength值设置关键帧的对象要简单得多。@RoryMcCrossan不,不一定。。。至少不是这种格式。在这种情况下,我在下面为您添加了一个答案。。。我现在唯一的问题是我使用了宽度1、宽度2等,但它们会有其他值。。所以我不能简单地用一个数字…其他值从哪里来?如果它们是数据集的一部分,yoy可以像我在示例中那样连接它们看起来很棒,但是有没有一种方法可以让它在加载时也被替换?由于初始值还没有被替换,所以有一种简单的方法来更新代码,而不是使用“宽度”+键+1+“”+值+它将使用任何存在的值?我知道,我的不好,但我简化了我的例子,所以它是递增的,而实际上不是…@Malachi当然可以做到,我认为这相当容易!你试过了吗?你发现什么障碍了吗?谢谢@Rorymcrossan,这个答案太棒了。