1

私は次のものを持っています。

<div class="petsearch">
<input id="pet_search_input" class="" type="text" onkeypress="return isNumberKey(event)" name="query" autocomplete="off">
</div>

ユーザーがテキスト フィールドに「dog」と入力すると、下のリンクは次のようになります。

<a id="pets" href="#dog" onclick="main()">
<img title="Dog" alt="Dog" src="./images/dog.png">
</a>

ユーザーが cat と入力すると、リンクが表示されますが、次のようになります。

<a id="pets" href="#cat" onclick="main()">
<img title="Cat" alt="Cat" src="./images/cat.png">
</a>

そのために、次のようなjqueryがあります。

$("#pets").click(function () {
$("#hidden_content").hide("fast");
$("#yourpet").hide("fast");
$("#pet_search_input").hide("fast");
});

これで、同じページの各画像の横に、テキスト フィールドが次のように表示されるようになりました。

<input type="text" id="pet-type">

上記の入力により、ユーザーがリンクをクリックしたときに単語が値として表示されます。したがって、リンクが #cat の場合、リンクがクリックされると、入力は Feline のような値を取得します。リンクに #dog が含まれている場合、ユーザーが #dog を含むリンクをクリックすると、入力は mut の値を取得します。

私の目標は、ユーザーがリンクをクリックしたときに動物の名前を表示するために、上記の入力タイプのテキストを用意することです。したがって、ユーザーがリンクをクリックし、リンクに犬と表示されている場合、入力は更新されて犬と表示されます。これを達成する方法がわかりません。ただし、#dog は ?dog または &dog になる可能性があることに注意してください。誰かがこれを達成するのを手伝ってくれませんか。

更新このコードを提供してくれた@Alvinに感謝します。つまり、私が達成しようとしていることに近づいています。

$("#pets").click(function () {
    $("#hidden_content").hide("fast");
    $("#yourpet").hide("fast");
    $("#pet_search_input").hide("fast");
    var result = $("#pets").attr("href");
    result = result.replace("#","");
    $("#pet-type").attr("value",result);
});

しかし、次のようなものであるべきだと思います。

$("#pets").click(function () {
    $("#hidden_content").hide("fast");
    $("#yourpet").hide("fast");
    $("#pet_search_input").hide("fast");
    if $("#pets").attr("href","#cat") then 
    $("pet-type".attr("value","Feline"); Else If
    if $("#pets").attr("href","#dog") then 
    $("pet-type".attr("value","mut");
});

上記のコードは機能しませんが、人々は私が達成しようとしていることを見るべきだと思います.

更新次のことも試しました。

if $("#pets".attr("href","#cat"),$("#pet-type").attr("value","Feline");
if $("#pets".attr("href","#dog"),$("#pet-type").attr("value","Mut");

解決済み 閉鎖

4

2 に答える 2

2

JavaScript を次のように変更します。

$("#pets").click(function () {
    $("#hidden_content").hide("fast");
    $("#yourpet").hide("fast");
    $("#pet_search_input").hide("fast");
    var result = $("#pets").attr("href");
    if (result == "#cat"){
        $("#pet-type").attr("value","Feline");
    }
    if (result == "#dog"){
        $("#pet-type").attr("value","Mut");
    }
});

お役に立てれば。

于 2013-08-13T01:31:57.277 に答える
0

あなたが何をしたいのかを正しく理解していれば、これはあなたの質問に答えるはずです:

// Called on link click
function main() {
    $("#pets-input").val($("#pets").attr("href").substr(1));
}

<input type="text" id="pets-input">これは、ID の競合を避けるために入力が に変更されていると仮定して機能します。

于 2013-08-13T01:37:41.077 に答える