jQueryを使用して、すでに存在する一連の一意の入力の隣に一連の新しい入力を作成する関数を作成しようとしています。この関数は、新しい入力のそれぞれにイベントリスナーを追加して、その値が変更されたとき(たとえば何かが入力されたとき)、その隣にある元の入力の値が同じ値になるようにする必要があります。jqueryイベントリスナーを一連の固有の要素に追加します
最終的には、元のフォームを非表示にして、エンドユーザーが新しいフォームのみを表示するようにします。私は、フォームのどの部分をユーザーが表示/変更できるかを制御し、フォームの外観をより詳細に制御できるようにするためにこれを行います。私はこれをすべてやる必要がある理由は、Microsoft Sharepointのアイテム作成フォームを変更しているためです。変更する唯一の方法は、JavaScriptをページに追加することです。これを行うより良い方法があれば私はすべての耳です。私は比較的新しくコーディングしていて、Sharepointでコーディングするのがとても新しいです。
はとにかく、ここで私が持っているものです。
現在var inputIdArr = [
'OrigInput1',
'OrigInput2',
'OrigInput3',
'OrigInput4',
'OrigInput5',
'OrigInput6',
'OrigInput7'
];
function newInputs(arr) {
for (str in arr) {
var elem = $("[id='" + inputIdArr[str] + "']");
var parent = elem.parent();
var newInputId = `newInput${str}`
var newInput = `<input type='text' id=${newInputId} />`;
parent.append(newInput);
$(`[id=${newInputId}]`).change(function() {
console.log(newInputId + " changed");
elem.val($(`[id=${newInputId}]`).value);
});
}
}
$(document).ready(function(){
newInputs(inputIdArr);
});
、コンソールは常に "newInput7が変更" ログに記録します。私はそれを修正する方法がわからないので、正しい新しい入力が変更されたことを記録します。私はまた、それが終わったらどこに行くかについての指針を使うこともできます。
使用セレクタ( "入力[ID^= 'OrigInput']")、それはあなたがHTMLにも.. – SamaBalaYam
に動作します私が今までに見たことのない人が読めるHTMLの中では最も遠いものです。それは本当に役に立ちません。 –
@KresimirPendicのSharePoint HTMLがである貼り付けてくださいすることができます –