在我的grails项目中,我有以下选择:
<g:select name="receiptItems" multiple="multiple"/>
我想在选中或取消选中复选框时获取当前选中的值。 我做了以下事情:
<g:checkBox name="hasStampDuty" value="${receiptInstance?.hasStampDuty}"
onclick="${remoteFunction(
controller: 'Receipt',
action: 'addStampDuty',
params: '\'receiptItemsSelected=\' + document.getElementById(\'receiptItems\').value+\'&receiptInstance=' + receiptInstance+'&ischecked=\'+this.checked',
onSuccess: 'updateTotalAmount(\'totalAmount\', data, \'00000\')')}"
/>
但document.getElementById(\'receiptItems\').value
仅返回g:select。
我还尝试使用$(\'receiptItems\')
或$(\'"receiptItems"\')
或jQuery(\'receiptItems\')
,但它们无法按预期工作。
编辑:
我也尝试过使用jQuery(\'receiptItems\').val()
并且无效
我该如何解决这个问题?
答案 0 :(得分:1)
你的选择器是错的,试试这个(不是我不知道grails是如何工作的):
$('select[name="receiptItems"]').val();
第一部分给出了你正在寻找的元素的类型,第二部分是该元素的唯一名称。我个人不喜欢使用名字,更喜欢ID用于重要的事情;你是否要将第一行改为
<g:select id="receiptItems" multiple="multiple"/>
您可以使用以下选项获取其值:
$('#receiptItems').val()
HTH