所以基本上这里是我的 jsFiddle - http://jsfiddle.net/CmNFu/。
和代码也在这里 -
HTML -
<b style="float: left; margin-right: 10px;">category 1</b><input type="checkbox" value="category1" style="float: left;" class="portfolio-category" /><br />
<b style="float: left; margin-right: 10px;">category 2</b><input type="checkbox" value="category2" style="float: left;" class="portfolio-category" /><br />
<br />
<br />
<input type="text" name="categories" id="portfolio-categories" />
jQuery -
jQuery(document).ready(function() {
jQuery(".portfolio-category").click(function() {
if(jQuery(this).is(":checked")) {
jQuery("#portfolio-categories").val(jQuery("#portfolio-categories").val()+" "+jQuery(this).val());
}
else {
var portfolioCategories = jQuery("#portfolio-categories").val();
alert("before + "+portfolioCategories);
var currentElement = jQuery(this).val()+" ";
alert(currentElement);
portfolioCategories = portfolioCategories.replace(currentElement, "");
alert(portfolioCategories);
}
});
});
嗯,基本上我想要实现的是,当用户选中复选框时,值会自动添加到输入字段中(完成,它正在工作,哇!),但问题是当它取消选中复选框时,值应该从输入框(问题从这里开始),它不会删除任何东西。您可以看到我尝试将 val() 函数分配给变量,但也没有成功。检查我在 jsFiddle 上的示例以查看它。
有什么建议么?我猜 replace() 不适用于 val(),是吗?
那么,还有其他建议吗?