Javascript str.replace仅用于所选单选按钮文本
现在str.replace仅适用于第一行,我希望str.replace适用于选定的单选按钮行Javascript str.replace仅用于所选单选按钮文本,javascript,html,Javascript,Html,现在str.replace仅适用于第一行,我希望str.replace适用于选定的单选按钮行 <tr> <td><input onclick="myFunction()" type="radio" name="test" value="1"></td> <td id = "demo">System Architect1 #
<tr>
<td><input onclick="myFunction()" type="radio" name="test" value="1"></td>
<td id = "demo">System Architect1 #BLANK1# test #BLANK2#</td>
<td>Edinburgh</td>
</tr>
<tr>
<td><input onclick="myFunction()" type="radio" name="test" value="2"></td>
<td id = "demo">System Architect2 #BLANK1# test #BLANK2#</td>
<td>Edinburgh</td>
</tr>
<tr>
<td><input onclick="myFunction()" type="radio" name="test" value="3"></td>
<td id = "demo">System Architect3 #BLANK1# test #BLANK2#</td>
<td>Edinburgh</td>
</tr>
<script>
function myFunction() {
var str = document.getElementById("demo").innerHTML;
var res = str.replace("#BLANK1#", "<input type='text' name='BLANK1' maxlength='50' />")
.replace("#BLANK2#", "<input type='text' name='BLANK2' maxlength='50' />")
.replace("#BLANK3#", "<input type='text' name='BLANK3' maxlength='50' />")
.replace("#BLANK4#", "<input type='text' name='BLANK4' maxlength='50' />");
document.getElementById("demo").innerHTML = res;
}
</script>
系统架构1#BLANK1#测试#BLANK2#
爱丁堡
系统架构2#BLANK1#测试#BLANK2#
爱丁堡
系统架构3#BLANK1#测试#BLANK2#
爱丁堡
函数myFunction(){
var str=document.getElementById(“demo”).innerHTML;
var res=str.replace(“#BLANK1#”,”)
.替换(“#空白2#”,”)
.替换(“#空白3#”,”)
.替换(“#空白4#”,”);
document.getElementById(“demo”).innerHTML=res;
}
实际上,不能对每个相似的元素使用相同的id。这就是为什么它总是替换第一行的原因
此外,要真正做到这一点,您必须先更改id,然后执行以下操作:
<tr>
<td><input onclick="myFunction(this)" type="radio" name="test" value="1"></td>
<td id = "demo1">System Architect1 #BLANK1# test #BLANK2#</td>
<td>Edinburgh</td>
</tr>
<tr>
<td><input onclick="myFunction(this)" type="radio" name="test" value="1"></td>
<td id = "demo2">System Architect2 #BLANK1# test #BLANK2#</td>
<td>Edinburgh</td>
</tr>
系统架构1#BLANK1#测试#BLANK2#
爱丁堡
系统架构2#BLANK1#测试#BLANK2#
爱丁堡
下面是通过使用Jquery实现的,但如果不使用任何Jquery,也可以通过javascript实现
<script>
function myFunction(element) {
var str = $(element).parent().next().html();
var res = str.replace("#BLANK1#", "<input type='text' name='BLANK1' maxlength='50' />")
.replace("#BLANK2#", "<input type='text' name='BLANK2' maxlength='50' />")
.replace("#BLANK3#", "<input type='text' name='BLANK3' maxlength='50' />")
.replace("#BLANK4#", "<input type='text' name='BLANK4' maxlength='50' />");
$(element).parent().next().html(res);
}
</script>
函数myFunction(元素){
var str=$(element.parent().next().html();
var res=str.replace(“#BLANK1#”,”)
.替换(“#空白2#”,”)
.替换(“#空白3#”,”)
.替换(“#空白4#”,”);
$(元素).parent().next().html(res);
}
这与PHP有什么关系?这是否回答了您的问题检查投票最多的答案,而不是被接受的答案。在html中不能多次使用同一id。$(“#demo”)
将始终返回第一个。尝试演示1、演示2、演示3和myFunction('demo1')、myFunction('demo2')
。。。和function myFunction(id)
和getElementById(id)
@SélimAchour,是的,它现在正在工作,但只有一个问题-它的持续str替换以前选择的单选按钮。然后document.getElementById(id).innerHTML=res代码>