-1
4

1 に答える 1

0

したがってupdateQty、必要なすべての要素を相対パスで検索する関数を作成するだけで、リスト内のすべての製品に対して正しい関数を 1 つ持つことができます。

//in this function the context is the element, so the
//`this` variable can be used rather than a param 
//for the product id
function updateQty() {
    //show the update link
    var parent = this.parentNode;
    //assumes only the update text uses the class bodyTiny, and that there
    //is only one element using it. obviously making this invariant true
    //would be trivial by adding a different class name
    var updateText = parent.getElementsByClassName("bodyTiny")[0];
    updateText.style.display = 'block';
    var updateLink = updateText.parentNode
      , updateHref = updateLink.href;
    //next we find the current quantity and replace it with the input
    updateHref = updateHref.replace(/qty=(\d*)/, 'qty='+this.value);
    //then we set the link element's attribute
    updateLink.href = updateHref;
    //now when you mouse over the link you should see the url has changed
}

フォームを同等のデータに設定することもできます。サーバー側では、クエリ文字列または投稿データから解析されたパラメーターを使用して、あなたと両方が同じメソッドに委任されるPOSTと思います。OnGetPageOnPostback

jsfiddleで実行されていることがわかります。うまくいけば、これが役に立ちます!

于 2013-01-19T00:06:36.097 に答える