0

以前のプロジェクトからこの jQuery コードがあり、それを変更したい:

<script>
...
$('a.manage-content-link').click(function (e) {
    var self = $(this),
        file = self.siblings('input[type="hidden.block-hidden-input"]').val();
    self.next(".manage-content-wrap").find(".manage-content").load("file-" + file + ".php");
    e.preventDefault();
});
...
</script>

そして、この HTML コードはそれに関連しています:

<li>
    <input type="hidden" name="block-type" value="0482" class="block-hidden-input" />
    <input type="hidden" name="sid" value="80132930913019309483" class="block-hidden-input" />
    <a href="#" id="manage-1" class="manage-content-link">
        <img src="images/web-block/web-block1.jpg"/>
        <span class="orange-notice">Click to Edit Content</span>    
    </a>
</li>

<li>
    <input type="hidden" name="block-type" value="1932" class="block-hidden-input" />
    <input type="hidden" name="sid" value="98u40190931209402191" class="block-hidden-input" />
    <a href="#" id="manage-2" class="manage-content-link">
        <img src="images/web-block/web-block2.jpg"/>
        <span class="orange-notice">Click to Edit Content</span> 
    </a>
</li>

そして、そのjQuery LOAD部分を次のように変更したいと思います:

.load("web-block/forms/file-XXX.php?key=YYYYYYYYYYYYYYYY");

どこ :

XXX = last 3 number from input type="hidden" name="block-type"
example :   0482 >> XXX = 482
            1932 >> XXX = 932

と :

YYYYYYYYYYYYYYYY = 入力からの値 type="hidden" name="sid"

このプロジェクトでは、HTML 部分を変更したため、2 つの非表示の入力があることに注意してください。jQueryの選択も変更する必要があると思います...しかし、どのように?

4

2 に答える 2

1
$('a.manage-content-link').click(function (e) {
    var self = $(this),
        file = self.siblings('input[name="block-type"]').val();
    file = file.substring(file.length - 3);
    self.next(".manage-content-wrap").find(".manage-content").load("web-block/forms/file-" + file + ".php?key=" + self.siblings('input[name="sid"]').val());
    e.preventDefault();
});
于 2012-10-27T07:05:48.070 に答える
1

e.preventDefault()非匿名関数の先頭で使用

<li>
<input type="hidden" name="name-block-type" value="0482" class="block-hidden-input" />
<input type="hidden" name="name-sid" value="80132930913019309483" class="block-hidden-input" />
<a href="#" id="manage-1" class="manage-content-link">
    <span class="orange-notice">Click to Edit Content</span>    
</a>
</li>

<li>
<input type="hidden" name="name-block-type" value="1932" class="block-hidden-input" />
<input type="hidden" name="name-sid" value="98u40190931209402191" class="block-hidden-input" />
<a href="#" id="manage-2" class="manage-content-link">
    <span class="orange-notice">Click to Edit Content</span> 
</a>
</li>​

JS

$('a.manage-content-link').click(function (e) {
e.preventDefault();
var self = $(this),
    name = self.parent().find('input[name^=name]').val(),
    lastThree = file.substr(file.length - 3);
self.next(".manage-content-wrap").find(".manage-content").load("web-block/forms/file-" + lastThree + ".php");
});​
于 2012-10-27T07:07:30.257 に答える