输入字段值在单击功能中不改变


Input fields value not changing in click function

在前面的代码中,我使用了两个单独的输入字段%$值。%值代码:

<td>
    <input name="propertytaxpc" type="text" size="8" maxlength="8" value="<?php echo $dproperty_tax; ?>" onChange="javascript:propertyTaxPcChanged(true)" />
    %
</td>

$值代码:

<td> 
    $ 
    <input name="propertytaxamt" type="text" size="8" maxlength="8" onChange="javascript:propertyTaxAmountChanged(true)"  />
</td>

在我的新代码中,我有input字段将两个字段更改为一个字段。%$值都加载单输入字段贷款。我已经设置了%$图标点击。现在输入字段默认的%图标也是%。当用户将图标%更改为$时,该值也需要更改。

<div class="col-md-3 padding-rht">
    <input name="propertytaxpc" class="txt" type="text" size="8" maxlength="8" value="<?php echo $dproperty_tax;?>" onChange="javascript:propertyTaxPcChanged(true)" />

</div>
<div class="col-md-1 padding-lft">
    <img src="Content/Images/percent.png" onclick="changeColor(event,this.src)" style="cursor:pointer"/>
</div>
function changeColor(event, _src) {
    var fname = _src;
    var ImageName = fname.substring(fname.lastIndexOf('/') + 1);
    //alert(ImageName);
    if (ImageName == "percent.png") {
        $(event.target).attr("src", "Content/Images/RedDoller.png");
    }
    else {
        $(event.target).attr("src", "Content/Images/percent.png");
   }
}

谁来看看?我试了很多方法,但都不起作用。

你的问题不是很清楚,但如果我理解正确,我认为你想要实现的是百分比和金额字段根据$/%图像切换可见性,对吗?

如果是这样,您需要做的是切换两个输入字段的可见性,以及更改图像源。试试下面的代码:

HTML/PHP:

<div class="col-md-3 padding-rht">
    <input id="pct" name="propertytaxpc" class="txt" type="text" size="8" maxlength="8" value="<?php echo $dproperty_tax;?>" onChange="javascript:propertyTaxPcChanged(true)" />
    <input id="amt" name="propertytaxamt" class="txt" type="text" size="8" maxlength="8" onChange="javascript:propertyTaxAmountChanged(true)"  />
</div>
<div class="col-md-1 padding-lft">
    <img id="change" src="Content/Images/percent.png" onclick="changeColor(event,this.src)" style="cursor:pointer"/>
</div>
Javascript:

$(document).ready(function() {
    $("#amt").hide();
    $("#change").click(function() {
        changeColor(this);
    });
});
function changeColor(elem) {
    var $elem = $(elem);
    var ImageName = $elem.attr("src");
    ImageName = ImageName.substring(ImageName.lastIndexOf('/') + 1);
    if (ImageName == "percent.png") {
        $elem.attr("src", "Content/Images/RedDoller.png");
    } else {
        $elem.attr("src", "Content/Images/percent.png");
    }
    $("#pct, #amt").toggle();
}
下面是演示该技术的JS示例:https://jsfiddle.net/ds8txa1j/

这种方式对我有效。不使用jquery或额外的库。有一些警告只是为了检查它是否工作…

  <div class="col-md-3 padding-rht">
    <input name="propertytaxpc" class="txt" type="text" size="8" maxlength="8" value="aaa" onChange="javascript:propertyTaxPcChanged(true)" />
    <input name="propertytaxamt" class="txt" type="hidden" size="8" maxlength="8" onChange="javascript:propertyTaxAmountChanged(true)"  />
</div>
<div class="col-md-1 padding-lft">
    <img src="Content/Images/percent.png" onclick="javascript:changeColor1(this);" style="cursor:pointer"/>
</div>

    <script type="text/javascript">
function changeColor1(elem) {
    var fname = elem.src;
    var ImageName = fname.substring(fname.lastIndexOf('/') + 1);
    alert(ImageName);
    if (ImageName == "percent.png") {
        elem.src = "Content/Images/RedDoller.png";
    }
    else {
        elem.src = "Content/Images/percent.png";
   }
   alert(elem.src);
}
</script>