在HTML文件中
<table>
<tr>
<td>
<button id="btnStatus" title="Status">
<img src='images/statDisable.jpg' id=”btnImg”/>
</button>
</td>
<td>
<label>Price</label>
<input type="text" id="tbPrice" style="width: 60px"/>
</td>
</tr>
</table>
IN JS FILE: / *尝试确保按钮图像设置为默认为禁用和 尝试在价格字段中的值更改时更改按钮图像。 * /
this.init = function(){
document.getElementById("btnImg ").src='images/statDisable.jpg';
};
$("#tbPrice").blur(function() {
var price = $("#tbPrice").val();
if(isNumber(price) || price > 0){
document.getElementById("btnImg ").src='images/statEnable.jpg';
/* also tried but did not work
var img = $('# btnImg), a=img.parent('a');
var srcVar = 'images/statEnable.jpg';
img.attr({src:srcVar});
a.attr("href", srcVar);
*/
}
});
问题: 当用户在tbPrice中输入大于零的数值时,我想将btnStatus上的img更改为'images / statEnable.jpg'。我得到了价格的变更事件,但无法获得要更改的按钮上的图像。我试过的例子只产生一个带有“X”的按钮
答案 0 :(得分:0)
我将函数包装在doc ready中,将isNumber更改为jQuery isNumeric,并更改了||到&amp;&amp;我认为您正在寻找以下内容:
this.init = function(){
document.getElementById("btnImg ").src='images/statDisable.jpg';
};
$(document).ready(function(){
$("#tbPrice").blur(function() {
var price = $("#tbPrice").val();
if($.isNumeric(price) && price > 0){
document.getElementById("btnImg").src='images/statEnable.jpg';
}
else{
document.getElementById("btnImg").src='images/statDisabled.jpg';
}
});
});
如果值为数字且为正,则更改图像。如果价值不好,它还可以将其更改为禁用。