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);
});

但我认为 if 应该类似于以下内容。

$("#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 回答