你好,我有一個有趣的。點擊一個動態創建的選擇使用Javascript/jQuery選擇其他動態內容
我目前正在爲我的工作中的一個側面項目開發一個小的Chrome擴展。該擴展只是將一個div附加到頁面的右側,併爲用戶提供「快速鏈接」和輸入。而不是嘗試點擊樹形菜單,選擇正確的選項,然後更改textarea。我在我的擴展程序上有按鈕,可以在其中設置值並單擊「應用」。發生了什麼是我們有一個網絡應用程序,有一堆動態加載<select>
。有一個包含鏈接的樹形菜單。當樹菜單中的項目被選中時,它將動態地加載幾個包含<select>
的div。
我想要做的是以編程方式更改選定的選項,該選項應該依次觸發另一個由Web應用處理的事件來調用某些動態內容。
選擇將轉到正確的值,但Web應用程序沒有註冊爲任何更改。
*** ***編輯 這裏的頁面是什麼樣子的例子:https://jsfiddle.net/tpkn92o8/6
編輯下面
在web-app的工作原理是這樣的(以下邏輯被烘焙到網絡應用程序,我無法控制這個):
- 在樹形菜單中的項被選中。這將ping家,並動態地加載一些內容到藍色選擇。
- 由於藍色選擇被改變,觸發
change
事件,綠色選擇動態獲取加載。 - 再次由於綠色選擇觸發了一個
change
事件,它將動態更新textarea值。
我想要做的是,一旦一切都裝,我希望能夠改變綠色的價值選擇,這將使在web-app觸發這種改變和更新textarea的,即
$("#dynamic-content-2 select").val('some new value').change()
會給我們
<textarea value="some new value"></textarea>
但不幸的是,選擇會得到改變,但不會觸發TE xtarea更新
其次編輯
var updatedVal = 'a new value I get from an array';
window.addEventListener ("load", setupEventHandlers, false);
function setupEventHandlers(){
var jsInitChecktimer = setInterval (checkForJS_Finish, 111);
function checkForJS_Finish() {
// the select I want to manipulate gets loaded when the radio is checked and a different select has a certain value
if (document.querySelector("#myRadio:checked") && $("#parentSelect").val() == "100") {
clearInterval (jsInitChecktimer);
console.log('loaded');
$("#changeSelect_Button").on("click", function() {
$("#mySelect").val(updatedVal).change();
});
}
}
}
在你的小提琴中,帶有id ** dynamic-content-2 **的元素是'div',而不是'select'。所以你的代碼'$(「#dynamic-content-2」).val('some new value')。change()'會在錯誤的標籤上工作。 – trincot
這只是爲了顯示什麼/哪裏的東西比實際的原型更多的佈局。對不起,那裏有混亂。 – meepz