0
我想用angularjs過濾mysql。JavaScript如果不是空元素添加函數返回
當您檢查電視按鈕,並點擊提交。 (電視按鈕值= 2)在設施列中找到2的angularjs過濾器。這是行得通的。但是當電視和有線電視檢查並點擊提交過濾器不起作用。因爲我的過濾器代碼不好。
$scope.am_en = function()
{
$scope.ot_Filter = function (location) {
return location.amenities.indexOf(1)==0;
};
}
如何改變這一行的indexOf(1)
此得到一個值的indexOf(1)我想多值的indexOf( '1,7,9,11') Indexof可能是另一種方法?
HTML:
<input type="checkbox" name="more_filter[]" value="1" id="map-search-amenities-1" ng-checked="false">
<input type="checkbox" name="more_filter[]" value="2" id="map-search-amenities-2" ng-checked="false">
..vs
<button id="more_filter_submit" ng-click="am_en();">Submit</button>
我嘗試這一點,但不工作:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.21/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
$scope.am_en = function(){
$scope.ot_Filter = function (location) {
var xC = $(".hosting_amenities input:checkbox:checked").map(function(){return $(this).val();}).get();
var xxc = "["+xC+"]";
var k1 = xxc.indexOf(1)!==-1;
var k2 = xxc.indexOf(2)!==-1;
var k3 = xxc.indexOf(3)!==-1;
...
var zz1 = location.amenities.indexOf(1)==0;
var zz2 = location.amenities.indexOf(2)==0;
var zz3 = location.amenities.indexOf(3)==0;
...
return zz1 || zz2 || zz3 || ...;
};
}
說明:
k1 == zz1
k2 == zz2
我想: 如果K1等於true附加這句話的回報:|| ZZ1 如果元素是本附加返回OR元件
對於實施例1:
if (k1 == true) ? "k1":"";
if (k2 == true) ? "|| k2 ":"";
if (k3 == true) ? "|| k3 ":"";
return k1 || k3;
對於實施例2:
k1 == false;
k2 == true;
k3 == true;
k4 == true;
return k2 || k3 || k4;
我在這裏的印象,整個邏輯堆棧的反思將是有益的。任何時候你看到「這個,或者如果這個,或者如果那個,而不是另一個,那麼這個東西或其他的東西......」,你正在構建一個危險的脆弱和難以調試的卡片屋。通常情況下,通過對問題進行抽象,通常可以通過對數據結構進行反思或以邏輯步驟減少問題(通常通過處理指令(實現這一功能))來獲得更好的解決方案。 –
我也不知道「不加結果」是什麼意思。 –
我不想要返回 – toplumdusmani