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.jpgImages/plussigndisabled.jpg. 但它没有这样做。

所以我的问题是用另一个图像按钮替换图像按钮的最佳方法是什么?同样在文档准备功能中,我需要它返回显示Images/plussign.jpg按钮。

4

3 回答 3

1

那段代码让我头疼。

你的代码

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

指图像标签。您的调用html应该替换标签的内部,但图像标签不能包含任何内容,因此没有什么可替换的。

于 2012-11-24T00:30:16.620 回答
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 回答
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 回答