【问题标题】:How to get the left coordinate of a span and add value to hidden field如何获取跨度的左坐标并向隐藏字段添加值
【发布时间】:2015-11-09 19:39:00
【问题描述】:

小提琴:http://jsfiddle.net/socc95bd/1/

JQuery:

var offsets = $('#ss').offset();
var left = offsets.left;
$("#hfYN").val(left);
alert(left);

$(".switch input").on("click", function () {
    var offsets = $('#ss').offset();
    var top = offsets.top;
    var left = offsets.left;
    alert("Clicked on inputs " + left);
    $("#hfYN").val(left);
    //find out whether or not YES/NO selected?
});

我需要知道“绿色选择”是“是”还是“否”。我尝试添加 ASP HiddenField 来存储值。

当页面第一次加载时,它会提示“243.#####”并且绿色选择为“是”,当我单击“否”时,它会提示“243.#####”,然后如果我点击是,它会提示“301.#####”。

如何修改,使数字在第一次加载时相同,然后在单击时也相同。

【问题讨论】:

  • 您确实意识到,由于您使用 asp.net hidden field ,因此目标 id 将是 '$("# " + ) 而不是 $("#hfYN" )
  • 另外,请问您的目标是什么?
  • 我在 FireFox 中看不到这个活动:jsfiddle.net/Twisty/rqhnja0v 我认为寻找.is(":checked") 会更容易。
  • @DinoMyte... 我启用了 ClientIDMode,所以没有必要。
  • @SiKni8 很遗憾听到这个消息,因为我刚刚发布了一个答案,而且有人可能也在寻找同样的答案。

标签: javascript jquery html asp.net


【解决方案1】:

您可以像这样通过.is(":checked") 确定值:

http://jsfiddle.net/Twisty/rqhnja0v/1/

$(document).ready(function(){
    var offsets = $('#ss').offset();
    var left = offsets.left;
    $("#hfYN").val(left);
    //alert(left);
    console.log("Init ss: " + left + ", input: " + $("#week").is(":checked") + ", " + $("#month").is(":checked"));
    $(".switch input").on("click", function () {
        var offsets = $('#ss').offset();
        var top = offsets.top;
        var left = offsets.left;
        //alert("Clicked on inputs " + left);
        console.log("Click ss: " + left + ", input: " + $("#week").is(":checked") + ", " + $("#month").is(":checked"));;
        $("#hfYN").val(left);
        //find out whether or not YES/NO selected?
    });
});

我在控制台中得到的结果:

Init ss: 200.5, input: true, false
Click ss: 200.5, input: false, true
Click ss: 258.5, input: true, false
Click ss: 200.5, input: false, true
Click ss: 258.5, input: true, false

【讨论】:

  • 我不会删除问题,因为您发布了答案。再次感谢。
  • 页面加载时,选择YES,控制台显示:Init ss: 280.1166687011719, input: true, false,点击NO时,控制台显示:Click ss: 280.1166687011719, input: false, true。如您所见,坐标仍然相同。
  • 您使用的是哪个浏览器和版本。我在 FireFox 42 中没有得到相同的结果
猜你喜欢
  • 2021-02-08
  • 2018-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-20
  • 1970-01-01
相关资源
最近更新 更多