function showHideSoldTo() {
if ($("#radio-text-sold-to").prop("checked")) {
$("#select-sold-to").hide();
$("#text-sold-to").show();
} else if ($("#radio-select-sold-to").prop("checked")) {
$("#text-sold-to").hide();
$("#select-sold-to").show();
}
}
$("#radio-text-sold-to").click(showHideSoldTo());
$("#radio-select-sold-to").click(showHideSoldTo());
所有这些都在文档准备好的包装器中。
答案 0 :(得分:7)
从点击通话中的功能名称中删除()。所以..
$("#radio-text-sold-to").click(showHideSoldTo);
...
答案 1 :(得分:2)
从点击通话中的功能名称中删除()
试试
$("#radio-text-sold-to").click(showHideSoldTo);
$("#radio-select-sold-to").click(showHideSoldTo);
答案 2 :(得分:1)
问题在于您传递给它应该是函数值的.click()
方法的值,而是调用该函数,并因此传递该函数的返回值(等于{ {1}})
修复很简单,您需要删除这两行中的undefined
()
所以他们成了
$("#radio-text-sold-to").click(showHideSoldTo());
$("#radio-select-sold-to").click(showHideSoldTo());
在javascript中,任何标识符都标识一个值。该值可能是一个简单的值,例如整数,或者它可能是一个更复杂的对象,就像您作为回调或事件处理程序传递的值一样,它可能是一个函数值。
这两行代码基本相同
$("#radio-text-sold-to").click(showHideSoldTo);
$("#radio-select-sold-to").click(showHideSoldTo);
在后者中明确指出右侧被分配到左侧。即函数值被分配给标识符。