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

时间:2015-09-03 10:03:55

标签: javascript php jquery html

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

<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");
   }
}

任何人都可以看一下吗?我尝试了很多方法,但它们没有用?提前谢谢。

2 个答案:

答案 0 :(得分:1)

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

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

<强> 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/

答案 1 :(得分:0)

这种方式对我有用。没有使用jquery或额外的lib。有一些警告只是为了检查它的工作原理......

  <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>