0

jqueryを介してこれを行うための最も良い方法は何ですか?

場所の名前/タイトルが記載されたドロップボックス[センタータイトル]があります。アドレスを名前に関連付ける必要があります。ドロップボックスを変更したら、2つのテキストエリアボックスにアドレスを入力する必要があります。

センターとそれに対応するアドレスがたくさんあるので、これを外部の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

このようなもの?

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

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

于 2012-04-16T15:55:00.720 に答える
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 に答える
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 に答える
0

adress1textareahttp://jsfiddle.net/WcXpk/4/の値が必要だと思い ます

于 2012-04-16T15:57:28.757 に答える