我试图找到将事件绑定到元素的方法。 我们可以在不提及函数的情况下绑定JQuery吗?
我需要在点击时启用贷款绑定启用,以便它可以调用相同的单选按钮。
它已成功取消绑定但无法重新绑定以调用定义它的相同单击方法。
我的代码:
$('input[type="radio"]').click(function(){
var radioButId = $(this).attr('id');
var value = $(this).val();
alert(value + " is clicked");
if(value === "home")
{
alert("Enable Loan Link")
$( "#ba").bind( "click" );
}
if(value === "dog")
{
alert("Disable Loan Link");
$( "#ba").unbind( "click" );
}
});
有人可以帮忙。
答案 0 :(得分:3)
一种可能的方式
小提琴:https://jsfiddle.net/uhxpmexe/7/
JS :
function fHardCodedFunction(){
alert("bindee");
}
function myfunction () {
var radioButId = $(this).attr('id');
var value = $(this).val();
alert(value + " is clicked");
$( "#ba").unbind( "click" );
if(value === "home")
{
alert("Enable Loan Link")
$( "#ba").on( "click", myfunction );
}
if(value === "dog")
{
alert("Disable Loan Link");
}
}
$('input[type="radio"]').click(myfunction);
答案 1 :(得分:1)
您可以使用disabled
属性启用和停用“贷款”。
我已更新your fiddle
function fHardCodedFunction(){
alert("bindee");
}
$('input[type="radio"]').click(function(){
var radioButId = $(this).attr('id');
var value = $(this).val();
console.log(value + " is clicked");
if(value === "home")
{
console.log("Enable Loan Link")
$("#ba").removeAttr("disabled");
}
if(value === "dog")
{
console.log("Disable Loan Link");
$( "#ba").attr( "disabled","disabled" );
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
When Dog clicked, Load should disable and when home clicked, Load should be enable <br>
<input type="radio" class="p27" id ="ba" name="ins_type1" value="loan" checked="checked" /> Loan<br><br>
Click here:
<input type="radio" class="p27" id ="ba2" name="ins_type2" value="home" /> Home
<input type="radio" class="p27" id ="ba3" name="ins_type2" value="dog" />
Dog
请注意,当存在disabled
属性时,单击该按钮不会执行任何操作。此外,它会直观地显示按钮。
我还使用了console.log
,因为使用alert
进行调试很糟糕:)
答案 2 :(得分:0)