如何在javascript中更改html元素的值,当元素id包含下划线,如_item5_xyz



我想用javascript改变一个html文本框的值。我尝试了。值,但它不起作用。然后我改变id没有下划线id和改变值,改变id回到原来的一个值是相同的原始值没有改变。

<input id="_item1govt_id" class=" required-entry input-text required-entry input-text required-entry" type="text" value="1" name="address[1][govt_id]" style="display: none;">

echo "<script> function setFunc".$rs['entity_id']."(obj) 
        {

            var e = document.getElementById('_item".$rs['entity_id']."govt_id');
            e.id = 'ape".$rs['entity_id']."';


            e.value = obj.value;
            alert(e.value);
            e.id = '_item".$rs['entity_id']."govt_id';

        }

</script>         "

您可以使用document.getElementById("ID").value = "new value";

即使你的id包含_或数字,它也会工作。

请检查你在html中的id和你在javascript中使用的id是否匹配。

如果你想改变你的文本框的html,那么它可以这样做,使用javascript
,document.getElementById('textbox_id').innerHTML="New text";

有关更多信息,请查看此处的基本信息。
我想这会对你有帮助。

像下面这样运行你的代码工作得很好,你实际上在任何地方调用了这个函数吗?

<input id="_item2govt_id" class=" required-entry input-text required-entry input-text required-entry" type="text" value="1" name="address[1][govt_id]" style="display: none;">
<?php
$rs = array('entity_id' => 2);
echo "<script> function setFunc" . $rs['entity_id'] . "(obj)
        {

            var e = document.getElementById('_item" . $rs['entity_id'] . "govt_id');
            e.id = 'ape" . $rs['entity_id'] . "';


            e.value = obj.value;
            alert(e.value);
            e.id = '_item" . $rs['entity_id'] . "govt_id';

        }
setFunc" . $rs['entity_id'] . "({value:"test"});
</script>";

注意下面我调用了setFunc2()方法

编辑

查看这里的php提琴工作示例:http://phpfiddle.org/main/code/7em-jwq

         $("#yourTextBoxIdName").val('newValue');

最新更新