JSは、状態制御に戻り、以前に選択を選択します

長い間、コードの上に、それよりも、比較的簡単ではないがあるはずです

ページ:

<DIV ID = "testArea">
<SELECTクラス= "SELQ"のonchange = "startchosee(この)">
<オプション値= "1">选择1 </オプション>
<オプション値= "2">选择2 </オプション>
<オプション値= "3">选择3 </オプション>
<オプション値= "4">选择4 </オプション>
<オプション値= "5">选择5 </オプション>

</ select>の

</ div>

JSコントロール:

。VAR thisElement = $( "#のtestArea")HTML();
VAR beforeElement = "";

 

関数startchosee(OBJ){


場合(確認( "是否改变" + $(OBJ).find( "オプション:選択")HTML())){

}他{
場合(beforeElement = "!"){
$(」 #testArea .selq ")を削除()。
。$( "#testArea")(parseDom(beforeElement))を追加。
}
}
beforeElement = nodeToString(OBJ)。
thisElement = OBJ。
}

 

jqueryのソースが深い理解欠いているため、2つのコンバータを行う理由としては
DOMに//文字列
関数parseDOM(アルギニン){

   VAR OBJE =のdocument.createElement( "DIV");

   objE.innerHTML =引数。

   objE.childNodesを返します。

};
文字列に// DOMターン

関数nodeToString(ノード){

にconsole.log($(ノード).find( "オプション:選択された"。)のval())
VAR tmpNode =のdocument.createElement( "DIV")。
tmpNode.appendChild(node.cloneNode(真));
$(tmpNode).find( "オプション")、各(関数(){
$(この).ATTR( "選択"、NULL);
});
$(tmpNode).find( "オプション:EQ(" +($(ノード).find( "オプション:選択")のval() - 1)+ ")"。)のattr( "選択"、真の);。
VAR STR = tmpNode.innerHTML。
tmpNode =ノード= NULL; // IEのメモリリークを防ぐため
にconsole.log(文字列)
戻りSTR。
}

 

メインボロー他の誰かのコード。少し荒いです。私を許して

 

おすすめ

転載: www.cnblogs.com/xy-dsh/p/11441981.html