Javascript Radio 添加值 Textarea

标签 javascript jquery html

当我单击某行 ( <tr> ) 的单选按钮时,有什么方法可以设置文本区域吗?

function changeTeks(i){
  var teks = '';
  var row = $(this).parents('tr');
  if(i == '1'){
    teks = row.find('input[name="brazil[]"]').val();
  }else if(i == '2'){
    teks = row.find('input[name="normal[]"]').val();
  }else if(i == '3'){
    teks = row.find('input[name="gagal[]"]').val();
  }else{
    teks = "belum";
  }
  row.find('textarea[name="hasil[]"]').text(teks);
  console.log(teks);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table border="1">
<tr>
<td>1</td>
<input type='hidden' name='gagal[]' value='fail in test 1' />
<input type='hidden' name='normal[]' value='not yet in test 1 ' />
<input type='hidden' name='brazil[]' value='success in test 1' />
<td><input type='hidden' name='lingkup[]' value='30' />Test 1</td>
<td><input type='radio' name='target0[]' value='1' onclick='changeTeks(1)' />
</td>
<td><input type='radio' name='target0[]' value='2' onclick='changeTeks(2)' />
</td>
<td><input type='radio' name='target0[]' value='3' onclick='changeTeks(3)' />
</td>
<td><textarea name='hasil[]' class='form-control'></textarea></td>
</tr>
<tr>
<td>1</td>
<input type='hidden' name='gagal[]' value='fail in test 2' />
<input type='hidden' name='normal[]' value='not yet in test 2' />
<input type='hidden' name='brazil[]' value='success in test 2' />
<td><input type='hidden' name='lingkup[]' value='30' />Test 2</td>
<td><input type='radio' name='target1[]' value='1' onclick='changeTeks(1)' />
</td>
<td><input type='radio' name='target1[]' value='2' onclick='changeTeks(2)' />
</td>
<td><input type='radio' name='target1[]' value='3' onclick='changeTeks(3)' />
</td>
<td><textarea name='hasil[]' class='form-control'></textarea></td>
</tr>
<tr>
<td>1</td>
<input type='hidden' name='gagal[]' value='fail in test 3' />
<input type='hidden' name='normal[]' value='not yet in test 3' />
<input type='hidden' name='brazil[]' value='success in test 3' />
<td><input type='hidden' name='lingkup[]' value='30' />Test 3</td>
<td><input type='radio' name='target2[]' value='1' onclick='changeTeks(1)' />
</td>
<td><input type='radio' name='target2[]' value='2' onclick='changeTeks(2)' />
</td>
<td><input type='radio' name='target2[]' value='3' onclick='changeTeks(3)' />
</td>
<td><textarea name='hasil[]' class='form-control'></textarea></td>
</tr>
                                </table>

我总是得到 undefined来自 parent 的值(value)。我要填写textarea文本在 input type hidden value 中对于每一行(因为这个隐藏值对于每一行都是不同的)

最佳答案

根据 Pranav 的评论,在您的函数中传递 this 并在内部使用它。

function changeTeks(ele,i){
	  var teks = '';
	  var row = $(ele).closest('tr');
	  if(i == '1'){
	    teks = row.find('input[name="brazil[]"]').val();
	  }else if(i == '2'){
	    teks = row.find('input[name="normal[]"]').val();
	  }else if(i == '3'){
	    teks = row.find('input[name="gagal[]"]').val();
	  }else{
	    teks = "belum";
	  }
	  row.find('textarea[name="hasil[]"]').html(teks);
	  console.log(teks);
	}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table border="1">
<tr>
<td>1</td>
<input type='hidden' name='gagal[]' value='fail in test 1' />
<input type='hidden' name='normal[]' value='not yet in test 1 ' />
<input type='hidden' name='brazil[]' value='success in test 1' />
<td><input type='hidden' name='lingkup[]' value='30' />Test 1</td>
<td><input type='radio' name='target0[]' value='1' onclick='changeTeks(this,1)' />
</td>
<td><input type='radio' name='target0[]' value='2' onclick='changeTeks(this,2)' />
</td>
<td><input type='radio' name='target0[]' value='3' onclick='changeTeks(this,3)' />
</td>
<td><textarea name='hasil[]' class='form-control'></textarea></td>
</tr>
<tr>
<td>1</td>
<input type='hidden' name='gagal[]' value='fail in test 2' />
<input type='hidden' name='normal[]' value='not yet in test 2' />
<input type='hidden' name='brazil[]' value='success in test 2' />
<td><input type='hidden' name='lingkup[]' value='30' />Test 2</td>
<td><input type='radio' name='target1[]' value='1' onclick='changeTeks(this,1)' />
</td>
<td><input type='radio' name='target1[]' value='2' onclick='changeTeks(this,2)' />
</td>
<td><input type='radio' name='target1[]' value='3' onclick='changeTeks(this,3)' />
</td>
<td><textarea name='hasil[]' class='form-control'></textarea></td>
</tr>
<tr>
<td>1</td>
<input type='hidden' name='gagal[]' value='fail in test 3' />
<input type='hidden' name='normal[]' value='not yet in test 3' />
<input type='hidden' name='brazil[]' value='success in test 3' />
<td><input type='hidden' name='lingkup[]' value='30' />Test 3</td>
<td><input type='radio' name='target2[]' value='1' onclick='changeTeks(this,1)' />
</td>
<td><input type='radio' name='target2[]' value='2' onclick='changeTeks(this,2)' />
</td>
<td><input type='radio' name='target2[]' value='3' onclick='changeTeks(this,3)' />
</td>
<td><textarea name='hasil[]' class='form-control'></textarea></td>
</tr>
                                </table>

关于Javascript Radio 添加值 Textarea,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42433406/

相关文章:

javascript - 在 Javascript 中的数字左侧填充零

javascript - 如何在 Three.js 中将图像反射到二十面体几何上?

javascript/jquery代码组织

c# - 将带有撇号的 json 值发送到 webservice 时出现无效对象错误

javascript - 如何在Android上转换手机网页?

php - 复选框 onclick javascript 不会使 IE 中的文件上传元素为空

javascript如何根据另一个对象数组过滤一个对象数组

javascript - 当页面滚动到50px时显示模态弹出窗口

jquery - 网站上的信息图和图表

html - Wordpress 标题很长,字母之间没有空格