在javascript中使用映射

在javascript中使用映射,javascript,grails,Javascript,Grails,我需要一个javascript函数,用于将复选框id映射为grails中其他字段的值 我有一个带有复选框和成本字段的gsp页面,如下所示 <td> <g:checkBox type="checkbox" class="select_all" name="counTestUnit" id="${testUnitInstance.id}" /> </td>

我需要一个javascript函数,用于将复选框id映射为grails中其他字段的值

我有一个带有复选框和成本字段的gsp页面,如下所示

<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那真是浪费?那可能会对某些人有所帮助?我没有完全理解你的问题:(