0
function insertQuestion(form) {   

var x = "<img src='Images/plussigndisabled.jpg' width='30' height='30' alt='Look Up Previous Question' class='plusimage' name='plusbuttonrow'/><span id='plussignmsg'>(Click Plus Sign to look <br/> up Previous Questions)</span>" ;

    if (qnum == <?php echo (int)$_SESSION['textQuestion']; ?>) {

   $('#mainPlusbutton').html(x); // no need to create a jQuery object

}

//append rows into a table code, not needed for this question

}

<form id="QandA" action="<?php echo htmlentities($action); ?>" method="post">

<table id="question">

<tr>
<td colspan="2">
<a onclick="return plusbutton();">
<img src="Images/plussign.jpg" width="30" height="30" alt="Look Up Previous Question" class="plusimage" id="mainPlusbutton" name="plusbuttonrow"/>
</a>
<span id="plussignmsg">(Click Plus Sign to look up Previous Questions)</span>
</td>
</tr>
</table>

<table id="questionBtn" align="center">
<tr>
<th>
<input id="addQuestionBtn" name="addQuestion" type="button" value="Add Question" onClick="insertQuestion(this.form)" />
</th>
</tr>
</table>

</form>

上記のコードで想定されることは、ユーザーが [質問を追加] ボタンをクリックすると、質問番号がテーブルに追加されることです。ここで、jquery 関数で if ステートメントが満たされると、プラス ボタンの画像Images/plussign.jpgがに置き換えられると想定されますImages/plussigndisabled.jpg。しかし、これは行っていません。

私の質問は、画像ボタンを別の画像ボタンに置​​き換える最良の方法は何ですか? Images/plussign.jpgまた、ドキュメント準備機能では、ボタンの表示に戻る必要があります。

4

3 に答える 3

1

replaceWith()ボタン全体を新しいhtmlに置き換えたい場合は、メソッドを使用できます

$('#mainPlusbutton').replaceWith(x); 

APIリファレンス:http ://api.jquery.com/replaceWith/

私はあなたが本当にsrcボタンのを置き換えるだけで、同時にそれを無効にしたいのではないかattr()と思いprop()ます。

var newImage='Images/plussigndisabled.jpg';

$('#mainPlusbutton').attr('src',newImage).prop('disabled',true); 

IDはページ内で一意である必要があることに注意してください。したがって、行を複製する場合は、クラスの使用に変更し、トラバースを変更して適切な要素を変更する必要があります。

于 2012-11-24T00:48:09.977 に答える
1

そのコードは私に短い頭痛を与えました。

あなたのコード

$('#mainPlusbutton').html(x);

イメージタグを参照します。の呼び出しはタグの内部htmlを置き換えることになっていますが、イメージ タグには何も含めることができないため、置き換えるものはありません。

于 2012-11-24T00:30:16.620 に答える
0

この画像タグを囲むには、spanまたはdivを使用することをお勧めします。

<img src="Images/plussign.jpg" width="30" height="30" alt="Look Up Previous Question" class="plusimage" id="mainPlusbutton" name="plusbuttonrow"/>

これでスクリプトを変更します。

$('#mainPlusbutton').parent().html(x);
于 2012-11-24T00:44:55.010 に答える