[英]Need to be able to get the return string from javascript method in yii2
我正在使用Yii2,并且在使用Html :: a -hyperlink时要返回要发送的javascript方法的内容时遇到问题
javascipt是为了获取复选框的选定值,并且正在正确输出。
<script> function getNewPermissions() { var permissions = ''; var rows = $(document).find('.permission'); $.each(rows, function (key, value) { if($(value).find('input').prop('checked') == true) permissions += value.id+'$&/'; }) permissions = permissions.substring(0, permissions.lastIndexOf("$&/")); return permissions; } </script>
echo Html::a(Yii::t('app', 'Edit'), ['permissions/edit' ,'id'=> $name], [ 'class' => 'btn btn-primary', 'onclick' =>'js:getNewPermissions()', 'data-method' => 'post', 'data' => [ 'params' => ['newPerms'=>'js:getNewPermissions()','_csrf' => Yii::$app->request->csrfToken], ], ])
在yii1中,已从参数正确读取了该值。 只是找不到任何可帮助直接在params中获取js的资源,而onclick确实有效。
在我的项目中使用另一种方式
<a style="float:left;" class="btn btn-success" onclick="myFunction(this)"
type="<?php echo $value->id; ?>">
</a>
并在布局末尾使用js函数
<script>
function updateSession(e)
{
var csrfToken = $('meta[name="csrf-token"]').attr("content");
var pid = e.getAttribute('type');
var key = e.getAttribute('title');
var pqty = $("#id_" + key).val()
$.ajax({
url: '<?php echo Yii::$app->urlManager->createAbsoluteUrl('/site/updatecard') ?>',
type: 'Post',
data: {
productid: pid,
key: key,
pqty: pqty,
_csrf: csrfToken
},
success: function (data) {
alert(data);
$.ajax({
url: '<?php echo Yii::$app->urlManager->createAbsoluteUrl('/site/getcard') ?>',
type: 'GET',
data: {
_csrf: csrfToken
},
success: function (data) {
$("#collapseCart").empty();
$("#collapseCart").append(data);
}
});
$.ajax({
url: '<?php echo Yii::$app->urlManager->createAbsoluteUrl('/site/getcardpage') ?>',
type: 'GET',
data: {
_csrf: csrfToken
},
success: function (data) {
$("#get_card2").empty();
$("#get_card2").append(data);
}
});
}
});
}
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.