JavaScript语法 - 列表框onChange事件

时间:2014-03-31 16:30:40

标签: javascript listbox

首先,请原谅我,因为我对JavaScript知之甚少,并且我试图在不知道正确的术语和语法的情况下制作一些东西。我在CMS中工作,名为" ViArt。"很多事情都是由php处理的,我只能在ViArt中访问,将JavaScript添加到列表框的onChange事件中。

以下是我想要完成的事情:

该产品是太阳镜。列表框1中的不同帧颜色由数字前缀指定。每种帧颜色有30种不同的镜头颜色选项,这些镜头颜色在列表框2中选择。

使用我当前的代码,对于每个帧,我必须在每个帧的JavaScript中输入并手动输入指定给该帧的数字前缀。

这是我在onChange事件中的当前工作代码:

=================================
var FrameNo = '01';//ENTER FRAME NUMBER
var ImagePath = 'images/GlassesBrand/Rx/GlassesTest/';//ENTER PATH TO IMAGES
var ImageNamePrefix = 'GlassesTest-XL';//ENTER NAMING CONVENTION


// This changes the IMAGE hyperlink to larger image to match user's selection
document.getElementById('blackImg').href=ImagePath + 'Large/' + ImageNamePrefix + '-Frame' + FrameNo + '-Lens' + 
 this.form.property{form_id}_{property_id}.options[this.form.property{form_id}_{property_id}.selectedIndex].text.substrin    g(0,2) + '.jpg';

================================= 我想做的改变是,我不想要硬编码#34; FrameNo。"我想通过查找listbox 1的selectedIndex在onChange事件中动态调用它。

=============================

在名单" {property_id},"我正在尝试获取列表框1的selectedIndex,名为" {property_parent_id6385_6773}"

{form_id}值为6385

{property_id}是列表框2,在此示例中,值为6773

{property_parent_id6385_6773}的值为6765,在此示例中,这是指listbox 1

{property_parent_id6385_6773}由php脚本或其他东西动态命名。例如,在下一个表单中,可以将其称为{property_parent_id6400_6800}。因此,我尝试根据我正在使用的任何表单和列表框,对JavaScript进行编程以动态引用property_parent_id #### _ ####。

当我对其进行硬编码或半硬编码以进行测试时,以下方法有效:

this.form.property6385_6765.selectedIndex;

this.form.property{form_id}_6765.selectedIndex;

我不知道语法,所以我认为在变量中声明一些东西可能会帮助我得到我需要的东西。

从我的笔记:

var FrameBox = [this.form.property_parent_id6385_6773.value];    //WHICH EQUALS "6765"
var FrameNo = 'this.form.property' + {form_id} + '_' + FrameBox + '.selectedIndex';  

结果:

http://www.companyname.com/images/GlassesBrand/Rx/GlassesTest/Large/GlassesBrand-GlassesTest-XL-Framethis.form.property6385_6765.selectedIndex-Lens02.jpg

然而,我所寻求的结果的一个例子是:

http://www.companyname.com/images/GlassesBrand/Rx/GlassesTest/Large/GlassesBrand-GlassesTest-XL-Frame1-Lens02.jpg

==============================

总之,我知道我需要什么,但我不太了解语法。

我知道这可能是更好的措辞,但这对我来说都是新的。从好的方面来说,我现在受到启发,可以参加JavaScript课程。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

这更像是一个计算的猜测,但值得一试。

this.form.property_parent_id{form_id}_{property_id}.options[this.form.property_parent_id{form_id}_{property_id}.selectedIndex].text