2

ベンダーの Web アプリでは、ラジオ グループでサムネイルを選択して [保存] をクリックする必要があり、これを 300 回以上行う必要があります。また、ラジオ ボタンのコンテンツをクリック可能にする良識もありませんでした。GMはこれを許可してくれると思っていましたが、スクリプトの書き方に途方に暮れています。そして、ラジオボタンを先に進めて送信ボタンを起動できれば、なおさらです。コードは次のとおりです。

<div id="image1" class="image_selection">
<input type="radio" id="" class="" name="selectimageid" value="1"/>
<img id="1" class="thumb" src="/images/thumb1.jpg" /> 
</div>

<div id="image2" class="image_selection">
<input type="radio" id="" class="" name="selectimageid" value="2"/>
<img id="2" class="thumb" src="/images/thumb2.jpg" /> 
</div>

<input type="submit" id="" class="save_button" name="" value="" />

誰かが私を正しい方向に向けることができますか? ありがとう!

4

1 に答える 1

1

ラベルを追加するには、jQueryjQueryの.wrap()関数を使用します。このような何かがそれを行う必要があります:

$("input[name='selectimageid']").wrap ('<label></label>');

ただし、サムネイルをラベルのクリック可能な部分にする必要があると思います。そのための完全に機能するGreasemonkeyスクリプトは次のとおりです。

// ==UserScript==
// @name     _YOUR_SCRIPT_NAME
// @include  http://YOUR_SERVER.COM/YOUR_PATH/*
// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
// @grant    GM_addStyle
// ==/UserScript==
/*- The @grant directive is needed to work around a design change
    introduced in GM 1.0.   It restores the sandbox.
*/

var imgRadioBtns = $("input[name='selectimageid']");

imgRadioBtns.each ( function () {
    var radBtn  = $(this);
    var toWrap  = radBtn.nextAll ("img.thumb").addBack ();

    toWrap.wrapAll ('<label></label>');
} );
于 2013-03-18T22:41:28.500 に答える