在javascript中使用映射
我需要一个javascript函数,用于将复选框id映射为grails中其他字段的值 我有一个带有复选框和成本字段的gsp页面,如下所示在javascript中使用映射,javascript,grails,Javascript,Grails,我需要一个javascript函数,用于将复选框id映射为grails中其他字段的值 我有一个带有复选框和成本字段的gsp页面,如下所示 <td> <g:checkBox type="checkbox" class="select_all" name="counTestUnit" id="${testUnitInstance.id}" /> </td>
<td>
<g:checkBox type="checkbox" class="select_all" name="counTestUnit" id="${testUnitInstance.id}" />
</td>
<td>
<g:textField name="cost" maxlength="20" required="" id="${testUnitInstance.id}" />
</td>
我想要一个javascript函数,在选中的复选框id和成本字段之间进行映射。您需要为复选框添加一个on change函数,并为id添加intital以区分成本文本字段,因为intital随后跟随id,您随后提取该id并找到相应的成本字段
"c_${testUnitInstance.id}"
范例
<g:checkBox type="checkbox" class="select_all" name="counTestUnit" id="c_${testUnitInstance.id}" onChange="FindCost('c_${testUnitInstance.id}')"/>
<g:javascript>
function FindCost(chckboxname){
console.log("check Status:"+$("#"+chckboxname).prop("checked"));
var arrayOfchckBoxId = chckboxname.split("_"); //parse the two parts of the name after _
var commnidforcheckandcost = arrayOfchckBoxId[1];
var initialname = arrayOfchckBoxId[0];
var currentCheckbox = "#"+chckboxname ;
console.log("ID:"+arrayOfchckBoxId[1]);
console.log("Name:"+currentCheckbox);
if(initialname == 'c'){
//display the corresponsing cost text field.
$("#"+commnidforcheckandcost").show() //display the cost with a give id like checkbox
}
</g:javascript>
函数FindCost(chckboxname){
log(“检查状态:”+$(“#“+chckboxname).prop(“检查”);
var arrayofchckboxida=chckboxname.split(“”);//解析名称后面的两部分_
var commnidforcheckandcost=arrayOfchckBoxId[1];
var initialname=ArrayOfchCkboxida[0];
var currentCheckbox=“#”+chckboxname;
控制台日志(“ID:+ArrayOfchCkboxide[1]);
console.log(“名称:+currentCheckbox”);
如果(initialname='c'){
//显示相应的成本文本字段。
$(“#”+commnidforcheckandcost”).show()//使用类似于给定id的复选框显示成本
}
我想这应该可以解决您的问题,以获得更多帮助,请参阅javascript控制台调试。您可以按以下操作
<td>
<g:checkBox type="checkbox" class="select_all" name="counTestUnit" id="checkbox${testUnitInstance.id}" onclick="mapCheckAndField(${testUnitInstance.id})"/>
</td>
<td>
<g:textField name="cost" maxlength="20" required="" id="textField${testUnitInstance.id}" />
</td>
<script>
function mapCheckAndField(testUnitId)
{
//we know that now checkboxId is "checkbox"+testUnitId
//and corresponding textField id is "textField"+testUnitId
//Simply you will get the value of checkbox corresponding textField value as below
$("#textField"+testUnitId).val()
}
</script>
函数mapCheckAndField(testUnitId)
{
//我们知道现在checkboxId是“checkbox”+testUnitId
//对应的textField id为“textField”+testUnitId
//您只需获得复选框对应的文本字段值,如下所示
$(“#textField”+testUnitId).val()
}
bit unclear,?如何比较意味着?复选框有布尔值,文本字段有字符串值?复选框有单独的id,文本字段有整数值,,,,,,,,使用复选框id我想选择相应的成本值a a我想很清楚!danielad我已经有javascript函数用于检索选中的复选框,即jQuery(document).ready(函数(){alert(“检查复选框”);jQuery('#groupdelete')。on('click',函数(){var name=[];alert(*************”);jQuery('input:checked')。每个(函数(){var cost=document.getElementById('costId')。值;警报(成本);警报(“进来”);names.push(jQuery(this.attr(“id”);});alert(names);})在这里,我想获取该特定对象的相应成本值id@oh那真是浪费?那可能会对某些人有所帮助?我没有完全理解你的问题:(