0

通过 jquery 执行此操作的最佳方法是什么?

我有一个带有位置名称/标题的保管箱 [中心标题]。我需要将地址与名称相关联,然后在更改保管箱时,我需要将地址填充到两个文本区域框中

有一堆中心和它们对应的地址,所以我想我想把它放在一个外部的js文件中。

这是我的 html,我只是无法清楚地了解 jquery。

<fieldset name="Group1">
                <legend>Group box</legend>
                Center Title:<select name="ctrTitles" id="ctrTitles">
                <option value="Corp 1">Corp 1</option>
                <option value="Shamrock Gold">Shamrock Gold</option>
                <option value="Hensin Way">Hensin Way</option>
            </select><br /><br />
            Address 1: <textarea name="TextArea1" id="TextArea1" cols="20" rows="2"></textarea><br /><br />
            Address 2: <textarea name="TextArea2" id="TextArea2"cols="20" rows="2"></textarea>
            </fieldset>

​在这里查看我的 jsFiddle:http://jsfiddle.net/justmelat/WcXpk/

4

4 回答 4

3

something like this?

$('#ctrTitles').change(function() {
   address = $(this).val();
   $("#TextArea1, #TextArea2").val(address);    
});

http://jsfiddle.net/WcXpk/3/

于 2012-04-16T15:55:00.720 回答
1
$('select#ctrTitles').change(function() {
    var index = $(':selected', this).index();
    $("#TextArea1, #TextArea2").val(centerLocations[index]['address']); // if your address array sync with `<select><option>` order
});

这是完整的代码:

var centerLocations = new Array(
    {value : 'Corp 1', address : 'Address 1'},
    {value : 'Shamrock Gold', address : 'Shamrock Gold Address 2'},
    {value : 'Hensin Way', address : 'Hensin Way Address 3'}
);

function findAddress(value) {
    var address = '';
    $.each(centerLocations, function() {
        if(new RegExp(this.value, 'ig').test(value)) {
            address = this.address;
        }
    });
    return address;
}
$('select#ctrTitles').change(function() {
    var index = $(':selected', this).index(),
        val = $(this).val();
    $("#TextArea1, #TextArea2").val(findAddress(val));
});
于 2012-04-16T16:05:22.637 回答
1
    $('#ctrTitles').change(function() {
       var centreName = $(this).val();

    var address = '';
    for (var i = 0; i < centerLocations.length; ++i) {
    if (centerLocations[i].value == centreName) {
    address = centerLocations[i].address;
break;
    }

    }

       $("#TextArea1, #TextArea2").val(address);    
    });​
于 2012-04-16T15:58:28.637 回答
0

我猜你想要 adress1 textarea http://jsfiddle.net/WcXpk/4/中的值

于 2012-04-16T15:57:28.757 回答