jquery - 使用 link 和 php 会话切换输入值

jquery - toggle input values with link and php sessions

我读过各种类似的Q/A。我想这可能太具体了。

我想通过 "clicking" 无效的 hyperlink

切换输入(文本)值
<a id="same" href="javascript:;">link</a>

切换值存储在会话中。

所以点击link一次,值="session"。再次点击 value=""。来回。我知道这可能很简单。我可以阅读 jquery。还在学习写呢。

$("#same").on("click", function(){
    $("[name='event_contact_name']").val($("[name='<?php echo "session 1"; ?>']").val());
    $("[name='event_contact_lastname']").val($("[name='<?php echo "session 2"; ?>']").val());
    $("[name='event_contact_phone']").val($("[name='<?php echo "session 3"; ?>']").val());
    $("[name='event_contact_email']").val($("[name='<?php echo "session 4"; ?>']").val());
});

您可以 PHP 在输入元素的 data-* 属性中回显 $_SESSION["something"]。喜欢:

data-sessionval="<?= $_SESSION["something"] ?>"

带有锚切换的示例

$("#same").on("click", function() {

 var tog = this._sessTog = !this._sessTog;

  $("[data-sessionval]").val(function() {
    return tog ? $(this).data("sessionval") : "";
  });

});
<a id="same" href="javascript:;">Use session values</a>

<br>

Name: <input name="event_contact_name" data-sessionval="php echoed here">
last name: <input name="event_contact_lastname" data-sessionval="php echo text">

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

但是为某些东西使用锚 cehckoxes 是为了 - 看起来很奇怪,所以:

$("#same").on("change", function() {

 var ckd = this.checked;

  $("[data-sessionval]").val(function() {
    return ckd ? $(this).data("sessionval") : "";
  });

});
<label><input id="same" type="checkbox"> Use session values</label>

<br>

Name: <input name="event_contact_name" data-sessionval="php echoed here">
last name: <input name="event_contact_lastname" data-sessionval="php echo text">

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

如果您不喜欢复选框,请使用 CSS:

$("#same").on("change", function() {

  var ckd = this.checked;

  $("[data-sessionval]").val(function() {
    return ckd ? $(this).data("sessionval") : "";
  });

});
[type=checkbox] + span:before {
  margin-right: 10px;
  content: "10";
}
[type=checkbox]:checked + span:before {
  content: "11";
  color: #0bf;
}
<label>
   <input id="same" type="checkbox" hidden>
   <span>Use Session values</span>
</label>

<br> Name: <input name="event_contact_name" data-sessionval="php echoed here">
Last name: <input name="event_contact_lastname" data-sessionval="php echo text">

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>