单击按钮时jQuery切换值

时间:2018-01-24 10:10:00

标签: jquery forms

我试图让一个按钮在表单字段中切换1或0的值

<input type="text" name="website" id="websiteForm" value="0">   

<span class="btn btn-outline-primary" id="websiteBtn" onClick="websiteBtn()">Website</span>

<script>
function websiteBtn(){
    $('#websiteBtn').toggleClass('btn-outline-primary');
    $('#websiteBtn').toggleClass('btn-primary');
}
</script>

字段中的默认值为0,但是当按下按钮时我想要它tpo给字段赋值1.如果再次按下它,再次给它一个值0。

5 个答案:

答案 0 :(得分:2)

首先,您应该使用不显眼的事件处理程序,而不是过时且有缺陷的on*事件属性。

要解决您的实际问题,您可以检索当前值并使用三元表达式更新它,如下所示:

$(function() {
  $('#websiteBtn').click(function() {
    $(this).toggleClass('btn-outline-primary btn-primary');
    $('#websiteForm').val(function(i, v) {
      return v == '0' ? '1' : '0';
    });
  });
});
.btn-outline-primary { color: #666; } 
.btn-primary { color: #C00; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="website" id="websiteForm" value="0">
<span class="btn btn-outline-primary" id="websiteBtn">Website</span>

答案 1 :(得分:1)

您只需检查条件

即可
if ($("#websiteForm").val() == 0)
   $("#websiteForm").val('1');
else
   $("#websiteForm").val('0');

答案 2 :(得分:1)

试试这个:

<input type="text" name="website" id="websiteForm" value="0">   

<span class="btn btn-outline-primary" id="websiteBtn" 
onClick="websiteBtn()">Website</span>

<script>
  function websiteBtn(){
   if($('#websiteForm').val() == '0'){
     $('#websiteForm').val('1');
    } else if($('#websiteForm').val() == '1'){
     $('#websiteForm').val('0');
    }
  }
</script>

答案 3 :(得分:0)

您要运行的代码有点像这样:

&#13;
&#13;
function websiteBtn(){
    $('#websiteBtn').toggleClass('btn-outline-primary');
    $('#websiteBtn').toggleClass('btn-primary');
}

var $websiteBtn = $("#websiteBtn");
var $website = $("#website");

$websiteBtn.on("click", function() {
    if ($website.val() == 0) {
        $website.val(1);
    } else {
        $website.val(0);
    }

});
&#13;
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="website" id="website" value="0">   

<span class="btn btn-outline-primary" id="websiteBtn" onClick="websiteBtn()">Website</span>
&#13;
&#13;
&#13;

答案 4 :(得分:0)

您可以使用除基于text-Box值决定的类:

  1. 点击btn点击课程。
  2. 由于在文档准备就绪后更改了类,因此请使用$(document).on('eventName', 'selector', function () {});
  3. 根据当前班级设置文本框的值。
  4. &#13;
    &#13;
     $(function () {
        $('#websiteBtn').on('click', function () {
            $('#websiteBtn').toggleClass('btn-outline-primary');
            $('#websiteBtn').toggleClass('btn-primary');
        });
    
        $(document).on('click', '.btn-outline-primary', function () {
            $('#websiteForm').val(0);
        });
    
        $(document).on('click', '.btn-primary', function () {
            $('#websiteForm').val(1);
        });
    });
       
    
     
    &#13;
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet"/>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <input type="text" name="website" id="websiteForm" value="0">   
    
    <span class="btn btn-outline-primary" id="websiteBtn">Website</span>
    &#13;
    &#13;
    &#13;