2016-08-04 77 views
0

我有

一個輸入和一個複選框。選中複選框,重置輸入

enter image description here


我的目標

是當在輸入框中輸入用戶變化的東西,我要開始顯示set to default複選框。

然後,當set to default複選框是check,我想要將原始值設置回該輸入。


這是我曾嘗試

HTML

<div class="col-xs-4"> 
    <input id="onboard_url" value="{{ $g_portal_url or ''}}" class="form-control" name="onboard_url" required placeholder="Ex. https://www.onboading.com" > 
</div> 

<div class="col-xs-2" style="display: none;" id="onboard_url_default"> 
    <input type="checkbox" id="onboard_url_default_cb" value="0" > 
    Set to default 
</div> 

jQuery的

$('#onboard_url').on('keyup', function() { 
    $('#onboard_url_default').show(); 

    if($('#onboard_url_default_cb').prop('checked')){ 
     $('#onboard_url_default_cb').val(1); 
     console.log('checked'); 
     $("#onboard_url").val(''); 
     $("#onboard_url").val('{{ $g_portal_url or ''}}'); 
    } 
}); 

$('#onboard_url').on('keyup', function() { 
    $('#onboard_url_default').show(); 

    if($('#onboard_url_default_cb').is(':checked')){ 
     $('#onboard_url_default_cb').val(1); 
     console.log('checked'); 
     $("#onboard_url").val(''); 
     $("#onboard_url").val('{{ $g_portal_url or ''}}'); 
    } 
}); 

結果

我不能讓我的console.log打印。

我不確定我在這裏錯過了什麼。 :(

+0

你還沒有綁定任何代碼的複選框的變化或點擊事件 – j08691

+0

道具(「檢查」)我想我檢查它在這裏,看它是否被選中 – ihue

+0

在你的代碼。你正在檢查複選框是否僅在輸入文本字段時被選中 你想要什麼? – j08691

回答

1

我認爲,使用複選框這種情況下是錯誤的UX的最好方法是使用它的按鈕下面是我的代碼是按鈕;

$(function(){ 
    $('#your_button').click(function(){ 
     $("#onboard_url").val(''); 
     $("#onboard_url").val('{{ $g_portal_url or ''}}'); 
    }); 
}); 

對於複選框,這是解決方案;

$(function(){ 
    $('#onboard_url').on('keyup', function() { 
     $('#onboard_url_default').show(); 
    }); 

    $('#onboard_url_default_cb').on('change', function(){ 
     if($(this).prop('checked')){ 
      $(this).val(1); 
      $("#onboard_url").val(''); 
      $("#onboard_url").val("{{ $g_portal_url or ''}}"); 
     } 
    }); 
}); 
+0

它存在於原始代碼中,但您可能希望將val('{{$ g_portal_url或''}}')'更改爲val(「{{$ g_portal_url或''}}」)(或越獄這些單引號,所以你不想設置值爲兩個單獨的字符串) – DBS

+0

感謝您的建議! – ihue

+0

我同意@taha_emin,從UX角度來看,使用複選框是錯誤的。設想一下用戶檢查它的情況,然後決定不去使用默認的**,現在更改URL。所以,現在當用戶輸入他/她自己的URL時,您將遇到麻煩,但您的複選框已被選中。所以,使用按鈕是一種更好的方法。 –