首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用JavaScript从单独的选择列表中检索附加值

如何使用JavaScript从单独的选择列表中检索附加值
EN

Stack Overflow用户
提问于 2015-09-23 00:30:23
回答 1查看 26关注 0票数 1

我有脚本,将追加隐藏的值传递到表单。当我发布表单时,只传递第一个列表值。我认为我需要以某种方式使第二个列表的名称是唯一的。

代码语言:javascript
复制
<script>
$(document).ready(function() {
$('#Color').change(function() {
$('.inputs').html('');
var $explodedVal = $(this).val().split('-');
$('.inputs').append('<input type="hidden" name="caseOpt" id="caseOpt"  value="' + $explodedVal[1]+'">');
});
});
</script>

这是第一个列表。

代码语言:javascript
复制
<label>Color</label>
<br>
<select name="Color" class="listOpt" id="Color" title="Color" >
<option value="None-0">Select Ring Size</option>
<option value="Red-1">Red</option>
<option value="Blue-2">Blue</option
</select>



<script>
$(function() {
$('#Size').change(function() {
$('.inputs').html('');
var $explodedVal2 = $(this).val().split('-');
var $explodedVal3 = $(this).val().split('-');

$('.inputs').append('<input type="hidden" name="colorOpt" id="colorOpt"  value="' + $explodedVal2[1]+'">');
$('.inputs').append('<input type="hidden" name="colorInc" id="colorInc" value="' + $explodedVal3[0]+'">');
});
});</script>

下面是第二个列表

代码语言:javascript
复制
<label>Size</label>
<br>
<select name="Size" class="listOpt" id="Size" title="Size" >
<option value="None-0">Select Ring Size</option>
<option value="Large-1">Large</option>
<option value="Xlarge-2">Xlarge</option
</select>
EN

回答 1

Stack Overflow用户

发布于 2015-09-23 00:51:08

为什么要使用"None-0“这样的值呢?难道"0“不应该没问题吗?

您可以拥有一个类似以下的对象:

代码语言:javascript
复制
var data = {
    color: null,
    size: null
};

然后使用以下命令访问属性:

代码语言:javascript
复制
data[color] = 0;
data[size] = 1;

在您的案例中:

代码语言:javascript
复制
<label>Color</label>
<br>
<select name="Color" class="listOpt" id="Color" title="Color" >
    <option value="0">Select Ring Size</option>
    <option value="1">Red</option>
    <option value="2">Blue</option
</select>

<label>Size</label>
<br>
<select name="Size" class="listOpt" id="Size" title="Size" >
    <option value="0">Select Ring Size</option>
    <option value="1">Large</option>
    <option value="2">Xlarge</option
</select>       

<script>
    var data = {
        color: null,
        size: null
    };

    $(function() {
        $('#Size').change(function() {
            data[size] = $(this).val();
        });
        $('#Color').change(function() {
            data[color] = $(this).val();
        });
    });
</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32722104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档