亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

jQuery設置input value Angularjs controller 無法獲取

jQuery設置input value Angularjs controller 無法獲取

Helenr 2019-04-13 08:46:33
我知道這樣做是有違背Angularjs規定的寫法的。先說說場景吧。用戶在A頁面點擊“新增”按鈕,window.open出一個B頁面,在B頁面填完信息后,點擊保存,想要回顯到A頁面。然后連同A頁面一些信息進行提交到controller.因為剛接觸Angularjs,所以還是以頁面Bopener.document.getElementById設置父頁面(A頁面隱藏的input值)。但是卻出現頁面上inputview是改變了,但是實際的model根本沒有變化,controller中取到的值都是undefined;想請教下1.如果這樣的寫法,應該怎么操作才能使得controller中可以取到隱藏的B頁面回傳的input的值。2.如果遵循Angularjs寫法,應該怎么變化?附A頁面:新增保存A.js:$scope.add=function(){varopenCustomer=window.open('B.html');};$scope.save=function(){console.log('save'+$scope.abv);};頁面B:this.opener.document.getElementById("abv").value=document.getElementById("a").value;this.opener.document.getElementById("save").click();
查看完整描述

2 回答

?
繁星淼淼

TA貢獻1775條經驗 獲得超11個贊

只需要給input修改后,再用JQ添加個事件就行了
$("#cert_valid_from").val(date1).trigger('change');
主要是trigger模擬觸發change事件
                            
查看完整回答
反對 回復 2019-04-13
?
叮當貓咪

TA貢獻1776條經驗 獲得超12個贊

參考代碼
A.js:
$scope.add=function(){
varopenCustomer=window.open('B.html');
};
//這里不用$scope而用window是為了在B頁面調用
window.save=function(value){
$scope.abv=value;
alert($scope.abv);
};
B頁面
//這里直接調用剛才A.js聲明的save方法,然后把B頁面的值傳進去
opener.save(document.getElementById('a').value);
window.close();
現在A.js里就alert出來你需要的$scope.abv了。
但仍然要注意的是,這種做法完全是workaround,強烈不推薦
                            
查看完整回答
反對 回復 2019-04-13
  • 2 回答
  • 0 關注
  • 439 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號