0

私はGoogleサイトに取り組んでいます

HTML

Customer:<a id="element1" onClick="javascript:changeText(1)">Yes</a>
Support:<a id="element2" onClick="javascript:changeText(2)">Yes</a>
EDC:<a id="element3" onClick="javascript:changeText(3)">Yes</a>
Ex 1:<a id="element4" onClick="javascript:changeText(4)">Yes</a>
Ex 2:<a id="element5" onClick="javascript:changeText(5)">Yes</a>
Ex 3:<a id="element6" onClick="javascript:changeText(6)">No</a>
Ex 4:<a id="element7" onClick="javascript:changeText(7)">No</a>

Javascript

function changeText(idElement) {
var element = document.getElementById('element' + idElement);
if (idElement === 1 || idElement === 2 || idElement === 3
   || idElement === 4 || idElement === 5 || idElement === 6
   || idElement === 7) {
    if (element.innerHTML === 'Yes') element.innerHTML = 'No';
    else {
        element.innerHTML = 'Yes';
    }
}

}

上記の部分は正常に動作します...しかし、はい、いいえにリンクしたチャートを更新するために更新を行う必要があります。更新すると、すべてのはいいいえが HTML に従って復元されます。

を使用して検索しました(そして試してみました)

var inner = document.getelementid("element7").innerhtml

しかし、どうやってそれを機能させるのですか。基本的に、更新後にサイトで利用可能だった値も取得する必要があります。

4

1 に答える 1

1

それはただの提案です。もちろん、独自の要件に基づいてソリューションに取り組む必要があります。

基本的に、デフォルト値を保持する変数があり、何らかの方法で投稿すると、選択されたものを確認し、オプションを元の状態に戻すことができます。

更新しました

HTML

Customer:<a id="element1" onClick="javascript:changeText(1)">Yes</a>
Support:<a id="element2" onClick="javascript:changeText(2)">Yes</a>
EDC:<a id="element3" onClick="javascript:changeText(3)">Yes</a>
Ex 1:<a id="element4" onClick="javascript:changeText(4)">Yes</a>
Ex 2:<a id="element5" onClick="javascript:changeText(5)">Yes</a>
Ex 3:<a id="element6" onClick="javascript:changeText(6)">No</a>
Ex 4:<a id="element7" onClick="javascript:changeText(7)">No</a>
<br />
Criteria applied: <input type="text" id="criteria" name="criteria" />
<br />
<button onclick="selection()">Selection</button>&nbsp;&nbsp;&nbsp;
<button onclick="refresh()">Refresh</button>

JS

var yesNoDefaults = ['Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'No', 'No'];

function changeText(idElement) {
    var element = document.getElementById('element' + idElement);
    element.innerHTML = (element.innerHTML === 'Yes' ? 'No' : 'Yes');
}

function refresh() {
    for (var i = 1; i <= 7; i++)
        document.getElementById('element' + i).innerHTML = yesNoDefaults[i - 1];
}

function selection() {
    var selection = '';

    for (var i = 1; i <= 7; i++)     
        selection += document.getElementById('element' + i).innerHTML + ',';

    selection.substring(0, selection.length - 1);

    document.getElementById('criteria').value = selection;

    refresh();
}

例を確認してください: http://jsfiddle.net/UfVAH/369/

于 2013-08-13T12:58:46.213 に答える